Привет я пытаюсь разрешить HTML-теги в строку, используя strip_tags в PHPstrip_tags не позволяет << and >> в PHP
Но моя строка содержит «< <» и «>>» и я пытаюсь, чтобы те, вещи, используя код ниже:
$allowTags = "<<>><span><s><strike><del><bdo><big><small><ins><cite><acronym><font><sup><sub><b><u><i><a><strong><em><code><samp><tt><kbd><var><q><table><thead><tfoot><tbody><tr><th><td><ol><ul><li><dl><dt><dd><form><input><select><textarea><option><div><p><h1><h2><h3><h4><h5><h6><pre><center><blockquote><address><hr><img><br><indexentry><indexinsert><bookmark><watermarktext><watermarkimage><tts><ttz><tta><column_break><columnbreak><newcolumn><newpage><page_break><pagebreak><formfeed><columns><toc><tocentry><tocpagebreak><pageheader><pagefooter><setpageheader><setpagefooter><sethtmlpageheader><sethtmlpagefooter><annotation><template><jpgraph><barcode><dottab><caption><textcircle><fieldset><legend><article><aside><figure><figcaption><footer><header><hgroup><nav><section><mark><details><summary><meter><progress><time>";
$test = "<span>white</span>red<<blue";
file_put_contents("test.log", print_r($test,true),FILE_APPEND);
$text = strip_tags($test, $allowTags);
file_put_contents("test.log", print_r($text,true),FILE_APPEND);
Но ее не работает, я получаю выход как <span>white</span>red
и ожидаемый результат является <span>white</span>red<<blue
Пожалуйста, помогите мне решить эту проблему. Заранее спасибо.
Это то, что делает функция. [Прочитайте руководство, когда вы хотите понять, что делает функция] (http://php.net/strip-tags). То, что вы ищете, это ['htmlspecialchars()'] (http://php.net/htmlspecialchars), который правильно кодирует эти символы для HTML, а не удаляет их. – Sherif
Несомненно, «стричь теги» не дал вам подсказки относительно того, что будет делать функция? – Lee
@Lee И с каких пор это << тег HTML? W3 должен обновить спецификацию с момента последнего проверки. Функция немного слишком жадная, но это было так на некоторое время. – Oldskool