我希望将某些 HTML标记转换为字符串。我希望能够提供一系列要转换为字符串的标签。
我正在查看的3个标签是:img,iframe和脚本,当在字符串中找到时,它们都应显示为字符串。
示例:
数组:$tags = array("img");
字符串:This is a picture of my dog <img src="......">
我查看了htmlentities
,htmlspecialchars
等等,但它们似乎都是全部或全部解决方案。
任何人都可以帮忙吗?
由于
答案 0 :(得分:1)
也许htmlentities功能可能对您有帮助。
答案 1 :(得分:1)
这不适用于非配对标签,但可以轻松编辑:
function convert_to_entities($data,$tags) {
foreach($tags as $tag) {
while(strpos($data,"<$tag") !== false) {
$reg = "@(.*)<$tag(.*)>(.*)</$tag>(.*)@";
$data = preg_replace($reg,"$1<$tag$2>$3</$tag>$4",$data);
}
}
return $data;
}
第一个参数是字符串,第二个是标签数组。
答案 2 :(得分:1)
查看strip_tags:
strip_tags - 从字符串中删除HTML和PHP标记
我知道你实际上在寻找黑名单(“明确过滤掉这些标签”),但也许你应该重新考虑并使用白名单;)
请参阅此相关问题:strip_tags() function blacklist rather than whitelist