скрыть только пару тегов HTML

У меня есть поле для комментариев. Если я наберу что-то вроде этого

aa @Martins <aabb>

В базе данных я сохраняю это как:

aa <span class="highlight" contenteditable="false">@Martins Vilskersts</span>&nbsp;&lt;aabb&gt;<span></span>

А пока я использую это, чтобы показать это:

$str = strip_tags(htmlspecialchars_decode(html_entity_decode($my_string_from_database)), '<br><br/>');

//here is some replace for links functionality
$replace = '<a href="javascript:;" class="..." id="..." ></a>';
$str = str_replace($link->tag, $replace, $str);

echo $str;

И я получаю такой результат:

aa @Martins

Но я хочу видеть это так:

aa @Martins <aabb> -[with @ functionality, but with some random <aaa><bbb> tags as plain text. Any idea?]

-1

Решение

ИСПОЛЬЗОВАТЬ ЭТОТ:

просто замени < от &lt; а также > от &gt;

Держите это также в середине:

‘&'(амперсанд) становится &

«» (двойная кавычка) становится " когда ENT_NOQUOTES не установлен.

«» (одинарная кавычка) становится «только когда ENT_QUOTES установлен.

‘<‘(меньше чем) становится <

‘>’ (больше чем) становится >

0

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

Если вы просто буквально выводите строку как сохраненную в базе данных, без использования htmlspecialchars_decode, strip_tags, html_entity_encode и т. Д., То она получится правильно.

Вы уже сохранили части, которые вы хотите видеть в виде закодированных символов, и те части, которые должны работать как необработанный HTML в вашей базе данных.

0

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