Форум сетевых администраторов
Показаны 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)


Помещено he][es 17-02-2004 в 21:31:

функция str_replace

Юзаю такую штуку:

PHP:


$template_text 
= str_replace( "<% SHOW MISS LIST %>"     , $show->show_miss($show->how_show_miss='list')   , $template_text);


Но если в $template_text нет строки <% SHOW MISS LIST %>, то как я понял функция $show->show_miss($show->how_show_miss='list') все равно отрабатывает... (или я не прав?) как сделать чтобы она отрабатывала только по наличию подстроки <% SHOW MISS LIST %>????

__________________
Админ - вождь Апачей...


Помещено blacki 18-02-2004 в 09:36:

if (eregi("<% SHOW MISS LIST %>", $template_text)) {
$template_text = str_replace(..., ..., ...);
}

__________________
Национальность - русский, вероисповедание - программист.


Помещено he][es 18-02-2004 в 16:44:

blacki пасибо...

__________________
Админ - вождь Апачей...


Помещено whisk 21-02-2004 в 14:15:

strpos быстрее будет, чем eregi.


Помещено he][es 21-02-2004 в 14:48:

whisk точно?
Вот как то можно узнать какая ф-ия быстрее? (вообще)

__________________
Админ - вождь Апачей...


Помещено Orliha 23-02-2004 в 17:31:

смотреть таймстамп перед выполнением функции и после, можно в цикл засунуть функцию для большей достоверности.

(вообще все функции связанные с регулярными выражениями, всякие регеспы по умолчанию медленные функции)

__________________
RTFM (Уважаемые! Читайте документацию!)


Помещено he][es 23-02-2004 в 21:23:

Orliha самому не очень охота этим заниматься, кто нить когда нить проводил "сводные тесты" (типа как видюхи на ixbt тестят )?
И что тогда лучше? (Или они просто медленные и др. вариантов нет?)

__________________
Админ - вождь Апачей...


Помещено GenUS 23-02-2004 в 22:09:

Кто-то тут хотел узнать, какая ф-ция быстрее ... eregi VS strpos ...
Вот держите код (ниже).

Ð_езультаты (в секундах) на компе P4-2800 (циклы по 1млн. каждой ф-ции):
Время EREGI: 4.432705
Время STRPOS: 2.458606

получается strpos быстрее в данном случае, причем чем больше текст, в котором ищет ф-ция, тем сильнее тормозит EREGI, причем независимо в конце или в начале искомый текст ...
но опять-же у STRPOS нет такой гибкости в условии поиска, как в EREGI ...

PHP:

<?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 &raquo; 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)?>

__________________
.


Помещено Tagore 13-03-2004 в 11:38:

ТВ программа

http://argon.com.ru/internet/webmastering/phpoptim почитай или
http://www.phpru.net/stroki.php

А вот такое будет работать?


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.