Php 通过url在网站内容中查找url吗?
我希望通过url搜索网站内容,如果存在我的url(例如:),则返回TRUE,否则返回FALSE 如果存在如下列表所示的url,则返回为FALSE:Php 通过url在网站内容中查找url吗?,php,curl,Php,Curl,我希望通过url搜索网站内容,如果存在我的url(例如:),则返回TRUE,否则返回FALSE 如果存在如下列表所示的url,则返回为FALSE: - http://www.mydomain.com/blog?12 - www.mydomain.com/news/maste.php - http://www.mydomain.com/mkds/skas/aksa.html - www.mydomain.com/ - www.mydomain.com 我只希望accsept(查找)为
- http://www.mydomain.com/blog?12
- www.mydomain.com/news/maste.php
- http://www.mydomain.com/mkds/skas/aksa.html
- www.mydomain.com/
- www.mydomain.com
我只希望accsept(查找)为(仅):
http://www.mydomain.com/
或http://www.mydomain.com
我试着:
$url = 'http://www.usersite.com';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec($ch);
curl_close($ch);
$link="/http:\/\/mydomain.com/";
if(preg_match("/". preg_quote($link,"/"). "/m", $contents) && strstr($contents,"http://www.mydomain.com")){
echo 'TRUE';
} else{
echo 'FALSE';
}
但它不起作用,因为它是我想要的。如何修复它?您不应该在链接上使用
preg\u quote
,因为它已经在正则表达式中了。尝试改用整个正则表达式/http:\/\/mydomain.com/m
$link="/http:\/\/mydomain.com/m";
if(preg_match($link, $contents) && false!== stripos($contents,"http://www.mydomain.com")){
echo 'TRUE';
} else{
echo 'FALSE';
}
我还将strstr更新为stripos,并进行了绝对比较,因为它不是布尔安全函数。我只想(仅)搜索
http://www.mydomain.com/
或http://www.mydomain.com
,但在顶级代码中,如果内容中存在url,则返回为:www.mydomain.com/news/maste.php
返回为TRUE,但我只想搜索(查找)如下url:http://www.mydomain.com/
或http://www.mydomain.com
在内容it站点中。在这种情况下,您只需要一个扩展正则表达式。可能只是指定哪些字符不能跟在结尾后面<代码>[^A-Za-z\?]我不知道,请在这里给我一个演示:codepad.viper-7.com或在上面的帖子中更新你的代码。我把它写成:$link=“/http:\/\/mydomain.com/[^A-Za-z\?”代码>但它不起作用。我该怎么办?试试$link=“/http:\/\/mydomain.com\/?[^A-Za-z\?]?/”代码>