Разметка тегов, позволяющая использовать некоторые HTML-теги - Facebook-ish - PullRequest
0 голосов
/ 17 июня 2011

Я делаю что-то вроде отправки сообщения в локальное приложение, оно действительно работает нормально, но ему не хватает проверки, не говоря уже о том, что проверка, которую я сделал, была беспорядочной. Я использую JQuery OEmbed.

Я хотел напечатать нелегальные теги html как есть и активировать / выполнить (я не знаю правильный термин) разрешенные мной теги html.

Есть предложения?

1 Ответ

3 голосов
/ 17 июня 2011

Это лучшее решение, которое я придумал.

Сначала заменили все <и> для HTML-кода, а затем вернули обратно разрешенные теги.

<?php

$original_str = "<html><b>test</b><strong>teste</strong></html>";
$allowed_tags = array("b", "strong");

$sans_tags = str_replace(array("<", ">"), array("&lt;","&gt;"), $original_str);

$regex = sprintf("~&lt;(/)?(%s)&gt;~", implode("|",$allowed_tags));
$with_allowed = preg_replace($regex, "<\\1\\2>", $sans_tags);

echo $with_allowed;
echo "\n";

Результат:

guax@trantor:~$ php teste.php 
&lt;html&gt;<b>test</b><strong>teste</strong>&lt;/html&gt

Интересно, есть ли решение для замены всего сразу.Но это работает.

...