PHP,求匹配这个的正则表达式

来源:百度知道 编辑:UC知道 时间:2024/06/23 01:44:55
之前问来了截取HTML代码中链接的正则,可是现在我想截取搜索引擎的结果页面,因为是搜索结果,所以搜索关键词都会用红色标出,所以以前的正则表达式就不管用了,截取不出这一段。自己试了半天,还是不得要领~~所以还得麻烦高手~~

类似于这样的:
<a onmousedown="return c({'fm':'as','F':'779717EA','T':'1236051343','title':this.innerHTML,'url':this.href,'p1':1,'y':'FAFFFBB2'})" href="http://www.ben.com.cn/jryw/200903/t20090302_507357.htm" target="_blank"><font size="3">这个<font color=#C60A00>红色</font>的字是搜索结果</font></a>
我想把上面的链接中“href”后面的URL和链接标题“这个红色的是搜索结果”给截取出来,麻烦高手指点~~

<?php
$str = "<a onmousedown=\"return c({'fm':'as','F':'779717EA','T':'1236051343','title':this.innerHTML,'url':this.href,'p1':1,'y':'FAFFFBB2'})\" href=\"http://www.ben.com.cn/jryw/200903/t20090302_507357.htm\" target=\"_blank\"><font size=\"3\">这个<font color=#C60A00>红色</font>的字是搜索结果</font></a>";

preg_match("/href=\"([^^]*?)\"[^<]*([^^]*?)<\/a>/",$str,$matches);

echo $matches[1], "\n", strip_tags($matches[2]);
?>

第一个是URL,第二个加个函数就是'这个红色的是搜索结果'

/<a.+?href=(.+?)( .+?|)>(.+?)<\/a>/