Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » функция str_replace
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
функция str_replace [сообщение #61200]

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

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 %>????

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

Сообщение было отредактировано he][es 17-02-2004 в 21:35

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 17-02-2004 21:31
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
blacki
lol +
Средний рейтинг: 4.13 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2002
Место проживания: Latvia/D-pils
Публикаций: 451
Статус: blacki в оф-лайне
[сообщение #61225]

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

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

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 18-02-2004 09:36
Нажмите сюда для просмотра профайла blacki Отправить Персональное сообщение blacki Посетить домашнию страничку blacki! Найти сообщения от blacki Добавить blacki в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #61252]

blacki пасибо...

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

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 18-02-2004 16:44
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
whisk
Участник
Средний рейтинг: 4 | Оценок: 1

Зарегистрирован: Oct 2003
Место проживания:
Публикаций: 31
Статус: whisk в оф-лайне
[сообщение #61400]

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

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 21-02-2004 14:15
Нажмите сюда для просмотра профайла whisk Отправить Персональное сообщение whisk Найти сообщения от whisk Добавить whisk в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #61401]

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

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

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 21-02-2004 14:48
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Orliha
фраерок на подсосе
Средний рейтинг: 3.67 | Оценок: 18
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Aug 2002
Место проживания: Москва
Публикаций: 653
Статус: Orliha в оф-лайне
[сообщение #61498]

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

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

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

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 23-02-2004 17:31
Нажмите сюда для просмотра профайла Orliha Отправить Персональное сообщение Orliha Посетить домашнию страничку Orliha! Найти сообщения от Orliha Добавить Orliha в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
he][es
Участник+
Средний рейтинг: 4.07 | Оценок: 30
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2003
Место проживания: Барнаул, Россия
Публикаций: 1169
Статус: he][es в оф-лайне
[сообщение #61509]

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

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

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 23-02-2004 21:23
Нажмите сюда для просмотра профайла he][es Отправить Персональное сообщение he][es Найти сообщения от he][es Добавить he][es в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
GenUS
Участник+
Средний рейтинг: 4.63 | Оценок: 19
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Apr 2003
Место проживания: 127.0.0.1
Публикаций: 334
Статус: GenUS в оф-лайне
[сообщение #61515]

Кто-то тут хотел узнать, какая ф-ция быстрее ... 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)?>

__________________
.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 23-02-2004 22:09
Нажмите сюда для просмотра профайла GenUS Отправить Персональное сообщение GenUS Посетить домашнию страничку GenUS! Найти сообщения от GenUS Добавить GenUS в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Tagore
Сибиряк
Средний рейтинг: 3.58 | Оценок: 31
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Sep 2002
Место проживания: Новосибирск
Публикаций: 1255
Статус: Tagore в оф-лайне
ТВ программа [сообщение #62646]

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

__________________
Международное брачное агенство в Сибири.

Сообщение было отредактировано Tagore 13-03-2004 в 11:47

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 13-03-2004 11:38
Нажмите сюда для просмотра профайла Tagore Отправить Персональное сообщение Tagore Посетить домашнию страничку Tagore! Найти сообщения от Tagore Добавить Tagore в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 14:30.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.65231109 seconds (99.19% PHP - 0.81% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.