使用 HTML Purifier 时,您可能希望专门删除脚本标签,而不删除内联格式或其他元素。这可以通过多种方法来完成。
使用正则表达式
虽然不推荐用于 HTML 解析,但简单的正则表达式可以完成任务:
$html = preg_replace('#<script(.*?)>(.*?)</script>#is', '', $html);
使用DOMDocument
更可靠和安全的方法是利用 DOMDocument 类,专为 HTML 解析而设计:
$dom = new DOMDocument(); $dom->loadHTML($html); foreach ($dom->getElementsByTagName('script') as $item) { $item->parentNode->removeChild($item); } $html = $dom->saveHTML();
其他替代方案
或者,考虑使用以下其中一种技术:
安全注意事项
记住用户输入应被视为潜在不安全。始终清理和验证 HTML 内容,以防止恶意代码注入。正则表达式只能用于受信任的内容。
以上是如何从 HTML 内容中删除脚本标签:综合指南的详细内容。更多信息请关注PHP中文网其他相关文章!