![]() |
Показаны 9 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- функция str_replace (http://netadmin.ws/forum/showthread.php?threadid=7884)
функция str_replace
Юзаю такую штуку:
$template_text = str_replace( "<% SHOW MISS LIST %>" , $show->show_miss($show->how_show_miss='list') , $template_text);

__________________
Админ - вождь Апачей...
if (eregi("<% SHOW MISS LIST %>", $template_text)) {
$template_text = str_replace(..., ..., ...);
}
__________________
Национальность - русский, вероисповедание - программист.
blacki пасибо...
__________________
Админ - вождь Апачей...
strpos быстрее будет, чем eregi.
whisk точно?
Вот как то можно узнать какая ф-ия быстрее? (вообще)
__________________
Админ - вождь Апачей...
смотреть таймстамп перед выполнением функции и после, можно в цикл засунуть функцию для большей достоверности.
(вообще все функции связанные с регулярными выражениями, всякие регеспы по умолчанию медленные функции)
__________________
RTFM (Уважаемые! Читайте документацию!)
Orliha самому не очень охота этим заниматься, кто нить когда нить проводил "сводные тесты" (типа как видюхи на ixbt тестят
)?
И что тогда лучше? (Или они просто медленные и др. вариантов нет?)
__________________
Админ - вождь Апачей...
Кто-то тут хотел узнать, какая ф-ция быстрее ... eregi VS strpos ... 
Вот держите код (ниже).
Ð_езультаты (в секундах) на компе P4-2800 (циклы по 1млн. каждой ф-ции):
Время EREGI: 4.432705
Время STRPOS: 2.458606
получается strpos быстрее в данном случае, причем чем больше текст, в котором ищет ф-ция, тем сильнее тормозит EREGI, причем независимо в конце или в начале искомый текст ...
но опять-же у STRPOS нет такой гибкости в условии поиска, как в EREGI ... 
<?PHP
$n = 1000000;
$template_text = 'Copyright © 1997 - 2003 by the PHP Documentation Group. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at » http://www.opencontent.org/openpub/).';
function time_diff($begin, $end, $precision = 3) {
list($a_micro, $a_int) = explode(' ', $begin);
list($b_micro, $b_int) = explode(' ', $end);
return round(abs(($b_int - $a_int) + ($b_micro - $a_micro)), $precision);
}
$test1_begin = microtime();
for ($i = 1; $i <= $n; $i++) {
$none = eregi("<% SHOW MISS LIST %>", $template_text);
}
$test1_end = microtime();
$test2_begin = microtime();
for ($i = 1; $i <= $n; $i++) {
$none = strpos($template_text, "<% SHOW MISS LIST %>");
}
$test2_end = microtime();
?>
Время <b>EREGI</b>: <?=time_diff($test1_begin, $test1_end, 6)?><br>
Время <b>STRPOS</b>: <?=time_diff($test2_begin, $test2_end, 6)?>
__________________
.
ТВ программа
http://argon.com.ru/internet/webmastering/phpoptim почитай или
http://www.phpru.net/stroki.php
А вот такое будет работать?
<?
error_reporting(0);
$link = 'http://www.top-top.ru/cgi-bin/tv.cgi?$QUERY_STRING';
$file = fopen($link, 'r');
$rf = fread($file, 100000);
$var = eregi( '
(.*)
', $rf, $title);
$var2 = eregi( '
(.*)
', $rf, $title2);
fclose($file);
$tv = $title[1];
$tv2 = $title2[1];
$tv = str_replace('/tvprog/pict/', 'http://www.top-top.ru/tvprog/pict/', $tv);
$tv = str_replace('name='chn'', 'name='chn[]'', $tv);
$tv2 = str_replace('/tvprog/pict/', 'http://www.top-top.ru/tvprog/pict/', $tv2);
?>
__________________
Международное брачное агенство в Сибири.
| Формат времени GMT. Текущее время 14:44. | Показаны 9 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.