|
|
|
|
<?
$str = '<p>текст<br>текст<br/>текст<br /></p>';
echo strip_tags($str, '<br>');
?>
|
Нужно ли во втором параметре указывать все модификации тега (например <br>, <br />, <br />)?
Столкнулся с непонтками на серверах. На одно достаточно просто указать <br>, чтобы он оставил все модификации тега, на другом - <br>, <br />, <br />. А на третьем стоит древний РНР - так он вообще параметра не знает такого. Посоветуйте, как правильно писать и в чем собственно проблема может быть. Может локаль поставить или еще что-то.
Заранее благодарен. | |
|
|
|
|
|
|
|
для: mihdan
(19.12.2007 в 13:47)
| | >Нужно ли во втором параметре указывать все модификации тега (например <br>, <br />, <br />)?
Нет, не нужно. Так как, нескольких модификаций тега быть не может.
С некоторых пор, считается хорошим тоном, ставить прямой слэш перед закрывающей угловой скобкой одиночных тегов. Но! Этот слэш нужно ставить через пробел после имени тега. Делая его, как бы, атрибутом.
Хотя, браузеры успешно игнорируют это "но"...
Из мануала к функции strip_tags:
Внимание: Эта функция не изменяет атрибуты тэгов, указанных в аргументе allowable_tags,
включая style и onmouseover.
|
В вашем же случае, функция strip_tags "натыкается" на тег BR/, который несоответсвует заранее указанному BR и благополучно вырезается.
>А на третьем стоит древний РНР - так он вообще параметра не знает такого.
Опять же из мануала:
Замечание: Аргумент allowable_tags был добавлен в PHP 3.0.13 и PHP 4.0b3.
С версии PHP 4.3.0 удаляются также HTML комментарии.
|
| |
|
|
|
|
|
|
|
для: Drago
(19.12.2007 в 22:14)
| | >С некоторых пор, считается хорошим тоном, ставить прямой слэш перед закрывающей угловой скобкой одиночных тегов.
В общем то это не хороший тон а просто соответсвует стандарту xhtml | |
|
|
|
|
|
|
|
для: Drago
(19.12.2007 в 22:14)
| | Drago , это гоны! XHTML - вы о таком слышали? | |
|
|
|
|
|
|
|
для: mihdan
(20.12.2007 в 00:06)
| | Может и не слышал. На данный момент, мне хватает и обычного HTML. Но рассуждая логически, я считаю, что указал вам на ошибки, по которым функция strip_tags() у вас работает некорректно. Если же это не так, пусть более знающий меня поправит. | |
|
|
|