Использование strip_tags с пользовательским исключением

В моем коде мне нужно удалить все теги из строки, кроме тега со встроенным атрибутом «display: none», поэтому теги выглядят так:

<div style="display:none"></div>

должен остаться нетронутым.

Каков был бы лучший способ достичь этого? Есть ли способ заставить работать strip_tags таким образом?

-1

Решение

Вы можете передать вторые параметры (хотите исключить) в strip_tags как

   $str =  "<html><div style='display:none'></div></html>";
echo strip_tags($str,  '<div></div>');

Выход будет <div style='display:none'></div>

1

Другие решения

Вы можете использовать регулярные выражения /<[^>] *> /

    <?PHP
$val = preg_replace('/<[^>]*>/', '', '<div style="display:none">tessss</div>') ;
echo $val ;
?>

strip_tags работают только с видимыми тегами, но регулярное выражение — лучший способ

0

Я наконец сделал это так:

$ div = preg_replace (‘/<(?! /? div style = «display: none) [^>] +> / ‘,’ ‘, $ div);

0
По вопросам рекламы [email protected]