Подстановка текста через php рандомизатор

Статус
В этой теме нельзя размещать новые ответы.

212

Создатель
Регистрация
31 Авг 2007
Сообщения
39
Реакции
0
Есть парсер... типа
PHP:
$handle = fopen('http://site.ru/index.php?act=' . $act . '&CODE=' . $CODE . '&f=' . $f . '&t=' . $t . '&view=' . $view . '&showuser=' . $showuser, 'r'); 
while (!feof($handle)) 
{ 
$html .= fread($handle, 4096); 
} 
$begin = '<html>'; 
$end = '</html>'; 
$beginloc = strpos($html, $begin) + strlen($begin); 
$endloc = strpos($html, $end); 
$html = substr($html, $beginloc, $endloc - $beginloc);
$html=str_replace("http://site.ru/", "http://site2.com/", $html);
$html=str_replace("download.gif", "download.gif title="$file = file('rand_text.txt'); echo $file[rand(0, (count($file)-1))];"", $html); /// вот эта шняга отказываеться работать!!
echo $html;
echo "</html>";
$html=str_replace("download.gif", "download.gif title="$file = file('rand_text.txt'); echo $file[rand(0, (count($file)-1))];"", $html); /// вот эта шняга отказываеться работать!!
то ей трусы мешают.. то скобки не те... как можно из файла рандомно текст в этом случае подставлять??
 
PHP:
$file = file('rand_text.txt');
$rnd=$file[rand(0, (count($file)-1))];
echo $rnd;
$html=str_replace("download.gif", "download.gif title=".$rnd , $html); /// както так.
Зачем лепить все в одну строку?
если почистить то что я написал то получиться като-так
PHP:
$file = file('rand_text.txt');
$html=str_replace("download.gif", "download.gif title=".$file[rand(0, (count($file)-1))] , $html); /// както так.
 
получилось но не совсем... точнее вообще не получилось (((
PHP:
$file = file('text.txt');
$html=str_replace(".jpeg", ".jpeg title=".$file[rand(0, (count($file)-1))] , $html);
сделал чуть по другому... но суть та же
он не рандомит текст... берёт на все картинки один текст... а должен из списка брать 100 разных..
плюс ко всему неудалось поставить title="текст"
без кавычек моно... но тогда высвечиваеться ток первое слово из фразы "чудо рандомизатор текста"
 
PHP:
$file[rand(0, (count($file)-1))]

он не рандомит текст... берёт на все картинки один текст... а должен из списка брать 100 разных..

Правильно, ведь ты заменяешь конкретным элементом массива все замены.

Воспользуйся функией preg_replace

PHP:
$html=preg_replace('%\.jpeg"%ie', "get_text('\\1')", $html); 
function get_text($string) {
	global $file;
	$title = $file[array_rand($file)];
	return '.jpeg" title="'.$title.'"';
}

echo($html);
 
  • Нравится
Реакции: 212
разобрался с горем пополам... видно лыжи не ехали )))
 
ещё вопросик образовался...
как этот парсер пошустрее сделать.. притормаживает немного ... и боюсь что при наплыве юзеров будет грузить сервак сильно ?!((
 
Никак. Только сменить алгоритм. Например записывать изменения в кэш или прописывать титл в шаблоне.
 
PHP:
return '.jpeg" title="'.$title.'"';
при использовании такого формата выдаёт следующее
... image.jpeg" title="слово
"
как сделать чтоб закрывающая кавычка не переносилась??
 
PHP:
$title=str_replace("\n","",str_replace("\r","",$title));
Добавить перед return '.jpeg" title="'.$title.'"';
 
  • Нравится
Реакции: 212
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху