php正则表达式怎么去掉html标签
这篇“php正则表达式怎么去掉html标签”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php正则表达式怎么去掉html标签”文章吧。
php正则表达式去掉html标签的方法:首先创建一个PHP示例文件;然后通过正则表达式“preg_replace('/\s(?!class="lazy" data-src)[a-zA-Z]+=[\'\"]{1}[^\'\"]+[\'\"]{1}/iu',);”实现去除。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
php正则表达式怎么去掉html标签?
过滤html标签在php中可以有内置的函数了,但它过滤的太干净了,我们就整理了一下些利用正则来过滤指定html标签的例子,具体如下所示。
采集的时候有时候需要过滤掉多余的标签属性,比如 img标签过滤掉除了class="lazy" data-src属性之外的所有属性例如删除titile alt等属性以及一些脚的onclick属性等。
例如
过滤除了class="lazy" data-src之外的所有属性:
代码如下:
$str= preg_replace('/\s(?!class="lazy" data-src)[a-zA-Z]+=[\'\"]{1}[^\'\"]+[\'\"]{1}/iu',' $str);
上面的实例代码是过滤掉除了class="lazy" data-src属性外的所有标签属性.
过滤设置过滤除了alt和class="lazy" data-src之外的所有属性
代码如下:
$str = preg_replace('/\s(?!(class="lazy" data-src|alt))[a-zA-Z]+=[^\s]*/iu',' ', $str);
过滤所有html标签的属性的正则表达式:
代码如下:
$str = preg_replace("/<([a-z]+)[^>]*>/i","",$str );
只过滤alt属性的正则表达式:
代码如下:
(\s)alt=[^\s]*
过滤所有html标签的属性的正则表达式:
代码如下:
$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript "'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 标记 "'([\r\n])[\s]+'", // 去掉空白字符 "'&(quot|#34);'i", // 替换 HTML 实体 "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i" ); // 作为 PHP 代码运行 $replace = array ("","","\\1","\"","&","<",">"," "); $html = preg_replace($search, $replace, $html);
以上就是关于“php正则表达式怎么去掉html标签”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341