PHP正则删除html代码中a标签并保留标签内容的方法 原创
本文实例讲述了PHP正则删除html代码中a标签并保留标签内容的方法。分享给大家供大家参考,具体如下:
一、问题:
有HTML代码如:
<div>欢迎访问我们<a href=http://www.jb51.net>www.jb51.net</a></div>
要求正则删除a标签,同时保留a标签内容,如下:
<div>欢迎访问我们www.jb51.net</div>
二、解决方法:
$str = "<div>欢迎访问我们<a href=http://www.jb51.net>www.jb51.net</a></div>"; $str = htmlspecialchars_decode($str); $str = preg_replace("/<a[^>]*>(.*?)<\/a>/is", "$1", $str); echo $str;
运行结果为:
<div>欢迎访问我们www.jb51.net</div>
问题解决!
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
PHP正则删除HTML代码中宽高样式的方法
本文实例讲述了PHP正则删除HTML代码中宽高样式的方法.分享给大家供大家参考,具体如下: 因工作需要,需要采集html,并把html内容保存到数据库中.为了避免影响使用,宽高样式需要删除.例如图片和div中的width, height等. 不过采集到的html中,样式的写法各有不同,例如大小写,中间有空格等. 因此使用php正则编写了下面这个方法,对这些奇葩的样式进行过滤. 代码如下: <?php /** * 清除宽高样式 * @param String $content 内容 * @retu
-
php过滤HTML标签、属性等正则表达式汇总
$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //注释 $str=p
-
php正则过滤html标签、空格、换行符的代码(附说明)
复制代码 代码如下: $str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //
-
php 正则 过滤html 的超链接
<?php echo preg_replace("/(?<=href=)([^\>]*)(?=\>)/i","#", "<a href='www.csdn.net'>你好,点这里看看</a><a href='www.jb51.net'>你好,点这里看看</a>"); ?> 正则:/(?<=href=)([^\>]*)(?=\>)/ (?<=exp
-
php正则删除img标签的方法示例 原创
本文实例讲述了php正则删除img标签的方法.分享给大家供大家参考,具体如下: 一.问题 正则抓取过程中需要删除正文中的img标签,如: <div>欢迎访问我们<img src="http://www.jb51.net/images/logo.gif" /></div> 要求删除后变成: <div>欢迎访问我们</div> 二.解决方法: $str='<div>欢迎访问我们<img src="htt
-
使用正则去除php代码中的注释方法
测试代码 文件:a.PHP <?php /** * 加法计算 * 测试 */ // 设定$a的值 $a = 10; // 设定$b的值 $b = 5; // 加法 $c = $a + $b; # 输出结果 echo $c; 文件:test.php echo "源码:<br />"; show_source('./a.php'); echo "<hr />去除注释后:<br />"; highlight_string(remo
-
php正则去除网页中所有的html,js,css,注释的实现方法
如下所示: $search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript "'<style[^>]*?>.*?</style>'si", // 去掉 css "'<[/!]*?[^<>]*?>'si", // 去掉 HTML 标记 "'<!--[/!]*?[^<>
-
php正则删除html代码中class样式属性的方法 原创
本文实例讲述了php正则删除html代码中class样式属性的方法.分享给大家供大家参考,具体如下: 一.问题: 有如下代码: <div class="jb51"><div class="jb51_txt">欢迎访问我们</div></div> 要求:删除HTML代码中的class属性. 二.实现方法: php实现代码如下: $str='<div class="jb51"><div
-
php使用正则表达式去掉html中的注释方法
最近在项目中在需要输出浏览器中的源文件需要去掉html中的注释,在网上看了很多的方案,不过很多的答案都是一样的,并不能解决我的问题,于是就自己写正则表达式,也对正则有了更加深刻的理解. 首先比较基础的是: $a = '<!--ceshi-->ceshi'; $a = preg_replace('#<!--.*-->#' , '' , $a); var_dump($a); 上面的代码会输出ceshi. 但是如果是下面的字符串的话,就不能达到我们希望的效果了 $a = '<!--
-
php和editplus正则表达式去除空白行
去除字符串内部的空行: 复制代码 代码如下: $str = preg_replace("/(\s*?\r?\n\s*?)+/","\n",$str); 去除全部的空行,包括内部和头尾: 复制代码 代码如下: $str = preg_replace('/($\s*$)|(^\s*^)/m', '',$str); editplus中替换空白行的正则表达式: 正则表达式:^[\t\n ]*\n
-
PHP正则表达式过滤html标签属性(DEMO)
过滤html标签在php中可以有内置的函数了,但它过滤的太干净了,我们就整理了一下些利用正则来过滤指定html标签的例子,具体如下所示. 采集的时候有时候需要过滤掉多余的标签属性,比如 img标签过滤掉除了src属性之外的所有属性例如删除titile alt等属性以及一些脚的onclick属性等. 例如 过滤除了src之外的所有属性: 复制代码 代码如下: $str= preg_replace('/\s(?!src)[a-zA-Z]+=[\'\"]{1}[^\'\"]+[\'\&quo
随机推荐
- 详解JavaScript的Date对象(制作简易钟表)
- 最详细的SQL注入相关的命令整理 (转)第1/2页
- JQuery解析XML的方法小结
- linux系统之间通过nfs网络文件系统挂载设置方法
- 认识less和webstrom的less配置方法
- jsp中使用jstl导入html乱码问题解决方法
- 详解C#中SqlParameter的作用与用法
- Android使用MobSDK短信验证
- 基于vue2.0实现的级联选择器
- JS常用字符串方法(推荐)
- jquery实现超简单的瀑布流布局【推荐】
- 提示缺少“S2CSplash.DLL"的解决方法,下载此文件放到才程序目录即可
- Android、iOS和Windows Phone中的推送技术详解
- 微信小程序 video详解及简单实例
- jquery.gridrotator实现响应式图片展示画廊效果
- js实现自定义进度条效果
- 九招让硬盘更快、系统更稳定
- 简单路由器DIY
- Python数据拟合与广义线性回归算法学习
- windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)