|
|
|
| $text='здесь текст и теги <a href=#>link</a> и другие <b>bold</b> теги';
Как найти текст без тегов ?
чтобы осталось
здесь текст и теги link и другие bold теги | |
|
|
|
|
|
|
|
для: Alph[p]a
(24.11.2010 в 10:00)
| | нид хелп | |
|
|
|
|
|
|
|
для: Alph[p]a
(24.11.2010 в 10:00)
| | Вполне можно обойтись без регулярных выражений, смотрите в руководстве пользователя, строковые функции, работа с html-кодом. | |
|
|
|
|
|
|
|
для: Slo_Nik
(24.11.2010 в 11:07)
| | конечно можно написав еще кучу кода. как можно обойтись без писанины вида str_replace | |
|
|
|
|
|
|
|
|
для: ddhvvn
(24.11.2010 в 12:29)
| | я сказочный идиот! СПАСИБО! | |
|
|
|
|
|
|
|
для: Alph[p]a
(24.11.2010 в 13:11)
| | Ради смеха сделал скрипт:
<?
$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 вообще лучше не применять.
Ну а поскольку очень часто вырезать приходится не только теги, про strip_tags вообще забываешь. Так что, как писал Slo_Nik: "Вполне можно обойтись без регулярных выражений", но лучше привыкать к ним :) | |
|
|
|