【发布时间】:2014-05-03 02:01:22
【问题描述】:
我想从 HTML 中删除除 YouTube 之外的所有 iframe。
我已经尝试使用插入符号到 YouTube 关键字之外的这段代码,但它不起作用。
$search[] = '@<iframe[^(youtube)]*?>.*?</iframe>@si';
$text = preg_replace($search, '', $document);
【问题讨论】:
-
为此使用正则表达式非常困难。如果标签是
<iframe src="maliciousaddress" decoy="youtube">或<iframe src="maliciousaddress.com/?youtube">怎么办? -
没关系,因为这个 html 代码来自受信任的来源。这意味着没有恶意代码。我只需要剥离无用的 iframe (facebook) 等...而且我只需要保留 youtube iframe。