Проверить, закрыл ли пользователь все теги HTML? - PullRequest
0 голосов
/ 24 сентября 2019

Я хочу разрешить пользователям сайта использовать те же теги HTML, как <img> <strong> <p>, но как проверить, не используются ли эти теги, такие как незамкнутые <p>, которые могут совпадать при закрытии </p> в теме сайта и создании страницыиспорчены?Кроме того, я делаю короткие длинные сообщения для показа на главной странице, которые тоже могут создавать неработающие теги.

Laravel имеет тег csrf-token для предотвращения межсайтовых сценариев, но, похоже, не проверяет сказанное мной.

1 Ответ

1 голос
/ 26 сентября 2019

Я не знаю ничего общего с этой проблемой, но вы могли бы написать свою собственную функцию проверки с помощью регулярных выражений.Вот демоверсия для p тегов:

// Html code here
$html = 'here'; 

// Strip newlines so we won't need multilines modifiers
$html = str_replace("\r\n", "", $html);

// Strip correct <p>...</p> tags and their content from html data
$html = preg_replace("@<p>.*?</p>@", "", $html);

// Check if any <p> tag remains in data. If so, it means a tag has been unenclosed/enclosed incorrectly
$s[0] = strpos($html, '<p>');
$s[1] = strpos($html, '</p>');

if($s[0] !== false || $s[1] !== false)
    echo "Syntax error in HTML code";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...