|
|
|
| На, одном компе работает как надо и не обращает, а на другом обращает. Что это может быть? | |
|
|
|
|
автор: ..... (30.11.2010 в 16:22) |
|
|
для: alex1
(30.11.2010 в 10:11)
| | разные локали ,пробуйте использовать setlocale() или составляйте регистронезависимым само выражение для ereg() , a лучше сразу привыкать к preg_match() | |
|
|
|
|
|
|
|
для: alex1
(30.11.2010 в 10:11)
| | Проблема с регистрами решается с помощью setlocale.
А по поводу ereg и preg приведу ранее описанное мной:
Ради смеха сделал скрипт:
<?
$i=0;
$data=file_get_contents('file.html');
$time_start = microtime(true);
while($i<100){
$i++;
$data2=preg_replace("/<[\/\!]*?[^<>]*?>/si","",$data);
// $data2=strip_tags($data);
// $data2=ereg_replace("<[\/\!]*[^<>]*>","",$data);
}
$time_end = microtime(true);
$time = $time_end - $time_start;
echo '<p>'.$time.'</p>';
echo $data2;
?>
|
И пусканул его несколько раз, комментируя одни и разкомментируя другие строки, проверив, таким образом и strip_tags, и preg_replace, и ereg_replace.
Проверял на относительно большом и кривоватом HTML-коде. Вот результаты времени выполнения:
0.0312588214874 для strip_tags
0.0693130493164 для preg_replace
4.08115887642 для ereg_replace
Потом взял обезтеженный текст, сохранил в файл и протестил на нем. Получил такие результаты:
0.00200915336609 для preg_replace
0.00807499885559 для strip_tags
0.0092921257019 для ereg_replace
В обоих случаях наличие или отсутствие квантификатора i (регистронезависимый поиск) для preg_replace заметного влияния на скорость не оказал.
Выходит, что если наличие искомого в тексте весьма вероятно, strip_tags вдвое эффективней preg_replace, но если в тексте нет искомого, preg_replace вчетверо эффективней strip_tags.
Отсюда вывод: strip_tags или preg_replace хорошо применять в зависимости от ожидаемой вероятности появления искомого кода. А ereg_replace вообще лучше не применять. | |
|
|
|
|
|
|
|
для: kosta_in_net
(30.11.2010 в 18:18)
| | Не совсем в тему, но функции ereg* являются deprecated в php 5.3.x. (http://php.net/manual/en/migration53.deprecated.php)
и рекомендуется заменить их на соответствующие preg* | |
|
|
|
|
|
|
|
для: clock
(03.12.2010 в 12:18)
| | Тем более ерег не стоит применять | |
|
|
|