TA的每日心情 | 擦汗 2018-6-6 11:33 |
---|
签到天数: 348 天 [LV.8]以坛为家I
|
有些时候,我们需要对一些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);
|
|