Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.7570
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 03.02.2012, 03:05   #1
krabson
Senior Member
 
Аватар для krabson
 
Регистрация: 05.10.2009
Сообщений: 632
Бабло: $176055
По умолчанию Сила гофака - пхп скриптец

в тхт файле встречается комбинация символов |0| , нужно рандомно заменить 0, на число из диапазона значений 120-300
krabson вне форума  
Старый 03.02.2012, 06:36   #2
damned
Юниор
 
Регистрация: 26.09.2007
Сообщений: 3
Бабло: $5390
По умолчанию

PHP код:
<?php
$data 
'текст';
while (
preg_match('#\|0\|#',$data,$matches)){
  
$data preg_replace('#\|0\|#','|'.(120+mt_rand(180)).'|',$data);
}
print 
$data;
?>
damned вне форума  
Старый 03.02.2012, 10:06   #3
sliderxxx
Ебланнед
 
Регистрация: 20.08.2008
Сообщений: 1,069
Бабло: $153400
По умолчанию

PHP код:
$text preg_replace ('/\|0\|/e'"'|'.rand(120, 300).'|'"$text); 
sliderxxx вне форума  
Старый 03.02.2012, 11:00   #4
damned
Юниор
 
Регистрация: 26.09.2007
Сообщений: 3
Бабло: $5390
По умолчанию

Цитата:
Сообщение от sliderxxx Посмотреть сообщение
PHP код:
$text preg_replace ('/\|0\|/e'"'|'.rand(120, 300).'|'"$text); 
более красивый вариант. ну и в моем косяки писал с утра навскидку
damned вне форума  
Старый 03.02.2012, 11:03   #5
DimaX
Senior Member
 
Регистрация: 19.04.2007
Сообщений: 2,272
Бабло: $294990
По умолчанию

Цитата:
Сообщение от sliderxxx Посмотреть сообщение
PHP код:
$text preg_replace ('/\|0\|/e'"'|'.rand(120, 300).'|'"$text); 
Зачем " нужны?
PHP код:
$text preg_replace ('/\|0\|/e''|'.rand(120300).'|'$text); 
DimaX вне форума  
Старый 03.02.2012, 11:21   #6
sliderxxx
Ебланнед
 
Регистрация: 20.08.2008
Сообщений: 1,069
Бабло: $153400
По умолчанию

Ну так запусти и увидишь
Вторым параметром должна передаваться строка с php кодом
sliderxxx вне форума  
Старый 03.02.2012, 11:32   #7
DimaX
Senior Member
 
Регистрация: 19.04.2007
Сообщений: 2,272
Бабло: $294990
По умолчанию

Не знал о таких возможностях На локалке просто быстро тыркнул код
PHP код:
preg_replace ('/\|0\|/''|'.rand(120300).'|'$text); 
Он сработал А потом тут в пост уже дописал модификатор "е".
DimaX вне форума  
Старый 03.02.2012, 13:25   #8
masolit
Senior Member
 
Аватар для masolit
 
Регистрация: 18.08.2007
Сообщений: 1,105
Бабло: $195515
По умолчанию python

набыдлокодил на питоне ))
PHP код:
import random

file
result open("/Users/masolit/Desktop/test.txt""r"), ""
for line in file:
    for 
word in line.split():
        if 
"|0|" in word:
            
result += word.replace("|0|""|%s| " % (str(random.randint(120300))))
        else:
            
result += word " "
    
result += "\n"

print result 

Последний раз редактировалось masolit; 03.02.2012 в 13:34.
masolit вне форума  
Старый 03.02.2012, 13:49   #9
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,382
Бабло: $470735
По умолчанию

самый правильный вариант на пхп:
PHP код:
<?php
$text 
'te|0|xtet|0|xte|0|tet';
echo 
str_replace('|0|''|'.rand(120,300).'|'$text);
?>
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 03.02.2012, 13:51   #10
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,305
Бабло: $879193
По умолчанию

Цитата:
Сообщение от chesser Посмотреть сообщение
самый правильный вариант на пхп:
PHP код:
<?php
$text 
'te|0|xtet|0|xte|0|tet';
echo 
str_replace('|0|''|'.rand(120,300).'|'$text);
?>
неправильный, str_replace везде заменяет на одно случайное значение. preg_replace нужен
sspy вне форума  
Закрытая тема



Опции темы
Опции просмотра