исследуемыми ссылки:Применить htmlentities к раздели теги
How do you apply htmlentities selectively? и PHP function to strip tags, except a list of whitelisted tags and attributes
Они близки, но не как ожидалось.
Что я пробовал?
<?php
define('CHARSET', 'UTF-8');
define('REPLACE_FLAGS', ENT_HTML5);
function htmlcleaned($string) {
$string = htmlentities($string);
return str_replace(
array("<i>", "<b>", "</i>", "</b>", "<p>", "</p>"),
array("<i>", "<b>", "</i>", "</b>", "<p>", "</p>"), $string);
}
echo htmlcleaned("<p>How are you?</p><p><b>This is bold</b></p><p><i>This is italic</i></p><p><u>This is underline</u></p><p><br></p><ul><li>This is list item 1</li><li>This is list item 2</li></ul><p><br></p><ol><li>This is ordered list item 1</li><li>This is ordered list item 2</li></ol><p><a target='_blank' style='color: #1c5c76;' href='http://www.google.com'>http://www.google.com</a></p><p>This is plain text again.<br></p><script>alert('attempt csrf');</script><p><p>This is P tag example</p></p>");
?>
Что я хочу достичь?
если вход:
<b><script>alert("something");</script></b>
, то выход будет:
<b><script&rt;("something");</script$rt;</b>
Там нет конкретного черного списка, но есть определенный белый список.
По какой причине вы указали «исследуемые ссылки», если 2-й содержит решение, которое вы можете попробовать адаптировать? –
http://stackoverflow.com/a/36840765/476 – deceze
@MarcinOrlowski Читайте мой вопрос снова, и вы, возможно, знаете :) – Karma