PHP使用正则表达式清除超链接文本
投稿:zxhpj
有些时候,我们需要对一些html文本进行处理,比如需要将文本中的超链接内容去除,这个时候就需要用到正则表达式
可以用$str = preg_replace("/<a[^>]*href=[^>]*>|<\/[^a]*a[^>]*>/i","",$strhtml); 这段来实现需求,如果想要更多解决方法,可以参看以下的。
1、删除内容中的超链接
复制代码 代码如下:
ereg_replace('<a([^>]*)>([^<]*)</a>','<font color="red">\\2</font>',$content);
ereg_replace("<a [^>]*>|<\/a>","",$content);
2、消除包含特定词的超链接
复制代码 代码如下:
$find="this string is my find";
$string='<font color="red">替换掉了</font>';//将超链接替换成的内容
echo ereg_replace('<a([^>]*)>([^<]*'.$find.'[^>]*)</a>','<font color="red">\\2</font>',$content);
3、获取超链接文本内容
复制代码 代码如下:
//方法一
preg_match_all('/<(a|a)[s]{0,1}[w=":()]*>[nrn]*(check user)[nrn]*</(a|a)>/i',$string,$matches);
//方法二
preg_match_all('/<a[dd]*>check user</a>/i',$string,$matches);
print_r($matches);
//方法三
preg_match_all('/<a[^>]*>[^<]*</a>/i',$string,$matches);
print_r($matches);
//方法四
preg_match_all('/<a.+?>check user</a>/is',$str,$arr);
print_r($arr);
//方法五
preg_match_all('/<a.+?>check user</a>/is',$str,$arr);
print_r($arr);
我用了这句 $year = preg_replace("/<a[^>]*href=[^>]*>|<\/[^a]*a[^>]*>/i","",$yearstr);
您可能感兴趣的文章:
- php 正则表达式提取网页超级链接url的函数
- PHP正则匹配图片并给图片加链接详解
- 检查url链接是否已经有参数的php代码 添加 ? 或 &
- php 正则 过滤html 的超链接
- php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
- phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
- php 短链接算法收集与分析
- windows服务器下IIS6/7下PHP 无法加载 php_curl.dll 等动态链接库
- php实现首页链接查询 友情链接检查的代码
- PHP 超链接 抓取实现代码
- php正则表达式取得内容所有链接的方法
- phpMyAdmin链接MySql错误 个人解决方案
- phpMyAdmin 链接表的附加功能尚未激活的问题
- php 自写函数代码 获取关键字 去超链接
- PHP将页面中点击数量高的链接进行高亮显示的方法