strip tags — php strip_tags, чтобы разрешить комментарий

Мне нужно убрать все HTML-теги, но сохранить строки комментариев для извлечения информации.

Это вообще возможно?

$content = strip_tags($content, '<!-->');

Это не работает, и я попробовал несколько разных вариантов.

2

Решение

Вы можете защитить свой комментарий, прежде чем удалить их, используя следующий код

// create a random string for using in replace strings
$random = strtoupper(dechex(rand(0,10000000000)));
// replace comment starts
$html = preg_replace('/<!--/', '@MARKER-START-'. $random.'@', $html);
// replace comment ends
$html = preg_replace('/-->/', '@MARKER-END-'. $random.'@', $html);
// strip all html tags
$html = strip_tags($html);
// replace back comment starts
$html = preg_replace('/@MARKER-START-'. $random.'@/', '<!--', $html);
// replace back comment ends
$html = preg_replace('/@MARKER-END-'. $random.'@/', '-->', $html);
0

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

Вместо использования strip_tags () используйте это регулярное выражение:

$szRetVal = preg_replace( '%</?[a-z][a-z0-9]*[^<>]*>%sim','',$szHTML );
-1

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