将选定的html标签转换为字符串

时间:2014-08-22 09:26:30

标签: php html

我希望将某些 HTML标记转换为字符串。我希望能够提供一系列要转换为字符串的标签。

我正在查看的3个标签是:img,iframe和脚本,当在字符串中找到时,它们都应显示为字符串。

示例:

数组:$tags = array("img");
字符串:This is a picture of my dog <img src="......">

我查看了htmlentitieshtmlspecialchars等等,但它们似乎都是全部或全部解决方案。

任何人都可以帮忙吗?

由于

3 个答案:

答案 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&lt;$tag$2&gt;$3&lt;/$tag&gt;$4",$data);
      }
    }
    return $data;
  }

第一个参数是字符串,第二个是标签数组。

答案 2 :(得分:1)

查看strip_tags

  
    

strip_tags - 从字符串中删除HTML和PHP标记

  

我知道你实际上在寻找黑名单(“明确过滤掉这些标签”),但也许你应该重新考虑并使用白名单;)

请参阅此相关问题:strip_tags() function blacklist rather than whitelist