我有一个网站爬虫,显示网址列表,但问题是我不能为我的生活得到最后的正则表达式很正确。 所有URL最终列为:正则表达式不太正确
http://www.website.org/page1.html&--EFTTIUGJ4ITCyh0Frzb_LFXe_eHw
http://website.net/page2/&--EyqBLeFeCkSfmvA7p0cLrsy1Zm1g
http://foobar.website.com/page3.php&--E5WRBxuTOQikDIyBczaVXveOdRFg
的URL都可以是不同的,这似乎是静态的唯一的事情就是&符号。 如何去掉&符号及其以外的所有符号?
以下是我与上述结果的尝试:
function getresults($sterm) {
$html = file_get_html($sterm);
$result = "";
// find all span tags with class=gb1
foreach($html->find('h3[class="r"]') as $ef)
{
$result .= $ef->outertext . '<br>';
}
return $result;
}
function geturl($url) {
$var = $url;
$result = "";
preg_match_all ("/a[\s]+[^>]*?href[\s]?=[\s\"\/url?q=\']+".
"(.*?)[\"\']+.*?>"."([^<]+|.*?)?<\/a>/",
$var, $matches);
$matches = $matches[1];
foreach($matches as $var)
{
$result .= $var."<br>";
}
echo preg_replace('/sa=U.*?usg=.*?AFQjCN/', "--" , $result);
}
Google for”URL [or URI] regular expression“。 – KingCrunch 2013-02-15 00:26:15
不要使用正则表达式来解析HTML!使用DOM解析器。 – 2013-02-15 00:35:13
我是 - 网址中还有一些垃圾因为某些原因而被清除。 – user1823055 2013-02-15 00:52:39