在php编程中,有时需要对一些html文本进行处理,比如需要将文本中的超链接内容去除,此时就需要用到正则表达式了。
可以使用:
$str = preg_replace("/<a[^>]*href=[^>]*>|<\/[^a]*a[^>]*>/i","",$strhtml);
下面来看几个PHP正则表达式清除超链接文本的例了。(推荐学习:PHP编程从入门到精通)
删除内容中的超链接
<?php ereg_replace('<a([^>]*)>([^<]*)</a>','<font color="red">\\2</font>',$content); ereg_replace("<a [^>]*>|<\/a>","",$content);
消除包含特定词的超链接
<?php $find="this string is my find"; $string='<font color="red">替换掉了</font>';//将超链接替换成的内容 echo ereg_replace('<a([^>]*)>([^<]*'.$find.'[^>]*)</a>','<font color="red">\\2</font>',$content);
获取超链接文本内容
<?php //方法一 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);
以上がPHPでハイパーテキストリンクをキャンセルする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。