С до php strip tags except youtube
прибегая к помощи связаны со мной здесь, я думаю, что я должен дать идти на предлагая альтернативный ответ.
Возможно, вы хотите использовать библиотеку, такую как HTML Purifier? Мальте уже предложил способ сделать это в https://stackoverflow.com/a/12784081/2716927.
Непроверенные код, но должен работать довольно много, как это:
require_once 'htmlpurifier/library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Trusted', true);
$config->set('HTML.SafeIframe', true);
$config->set('URI.SafeIframeRegexp', '%^(https?:)?//(www\.youtube(?:-nocookie)?\.com/embed/|player\.vimeo\.com/video/)%'); //allow YouTube and Vimeo
$purifier = new HTMLPurifier($config);
$text = $purifier->purify($document);
Это очень трудно, если не невозможно использовать регулярное выражение для этого. Что, если тег '
Это неважно, потому что этот html-код исходит из надежного источника. это означает, что нет вредоносного кода. Мне нужно только разбить бесполезный iframe (facebook) и т. д., и мне нужно сохранить только iframe youtube. – TomSawyer