
02.12.2008, 21:50
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Ru}{eeZ А циклы страшного вида, и explode - гораздо быстрее видимо
PHP код:
$in=array_fill(0,50,'http://yandex.ru')+array_fill(51,50,'просто текст')+array_fill(101,20,'<br>');
shuffle($in);
$a=implode(' ',$in);
$start=microtime(true);
$a1=preg_replace('#(http://[^ ]*)#i','<a href="\\1">\\1</a>',$a);
echo microtime(true)-$start;
$a=implode(' ',$in);
echo '<br />';
$start=microtime(true);
// А тут исправленный вариант того, что хотел ты
$a=split(' ', $a);
$a2='';
foreach($a as $oneBodyUser) {
if(strpos($oneBodyUser, 'http://')===false) {$a2 .= ' '.$oneBodyUser;} else
{$a2 .= " <a href ='$oneBodyUser'>$oneBodyUser</a>";}
}
echo microtime(true)-$start;
echo '<br><h3><font color="green">'.$a1.'</font></h3>';
echo '<br><h3><font color="red">'.$a2.'</font></h3>';
Это вам для сравнения. Все хорошо к месту - если требуется простая обработка - заменить одну букву на другую например - то строковые, а вот если эти строковые функции начнешь циклить и усложнять - то.... Разница - от 20 до 200 раз
З.Ы. у тя в коде была ошибка в цикле, ты одновременно перебирал массив $_POST['bodyUser'] и одновременно в цикле обращался к ней, как если это строковая переменная
З.Ы.Ы. Переделал пример для наглядности, и исправил ошибки в твоей версии - спасибо astrologer
Последний раз редактировалось Gifts; 02.12.2008 в 22:31..
|
|
|