Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中匹配网页中的精确字符串?_Php_Regex - Fatal编程技术网

如何在PHP中匹配网页中的精确字符串?

如何在PHP中匹配网页中的精确字符串?,php,regex,Php,Regex,我们可以很容易地检查字符串中的匹配项 if (preg_match("/happy/i", "happy is he who has ")) { echo "match found."; } else { echo "match not found."; } ?> 但是如何检查网页或给定url中是否存在匹配 编辑: 如何使用正则表达式查找网页中是否存在特定字符串? 我能够提取所有信息,并使用其中一个答案中给出的代码进行显示。您可以使用cURL抓取网页,并可以使用任何正则表

我们可以很容易地检查字符串中的匹配项
if (preg_match("/happy/i", "happy is he who has ")) {
    echo "match found.";
} else {
    echo "match not found.";
}
?>
但是如何检查网页或给定url中是否存在匹配

编辑:

如何使用正则表达式查找网页中是否存在特定字符串?
我能够提取所有信息,并使用其中一个答案中给出的代码进行显示。

您可以使用cURL抓取网页,并可以使用任何正则表达式对其进行解析! 您可以使用

直接来自php.net

<?php
    $homepage = file_get_contents('http://www.example.com/');
    echo $homepage;
?>

正如Rodolphie所说,使用cURL可能是获取远程页面的最佳方法。您确实不需要使用regexp来检查文本是否包含字符串,这可以做到:

if (preg_match("/happy/i", "happy is he who has ")) {
    echo "match found.";
} else {
    echo "match not found.";
}
?>
if (strpos($urlContents, $needle) !== FALSE) {
  echo "match found";
}

请注意,由于安全原因,您的提供商可能会禁用远程文件打开功能。@christian studer。这将阻止任何合法的获取外部网站内容的方法。@code\u burgar:我没有说curl不是合法的方法。但是,如果一个提供者遇到麻烦而禁用
allow\u url\u fopen
,他可能会禁用所有其他远程访问的方法content@code_burgar:因为它打开远程文件?“由于安全原因,您的提供商可能会禁用远程文件打开”–christianstuder@code_burgar:任何一个这样做的主人都不值钱。那不算!他说“容易”。。。xP@Alix除了php手册页链接是一个法语版本外,没有什么比使用fopen更难使用cURL了,还有一个额外的好处,就是能够轻松地按照您需要的方式调整HTTP请求。抱歉,法语版本!解决了这个问题。事实上,我不得不责怪谷歌,他们总是推本地化内容,这在寻找一些技术文档时很烦人:)@code\u burgar:我经常使用curl,我知道它有多强大,但我还没有看到一行php/curl代码(init、FAILONERROR、FOLLOWLOCATION、RETURNTRANSFER、SSL\u2、exec和close=8行)它可以获取一个简单的页面并返回它的内容,比如
file\u get\u contents()
这是OP想要和需要的。为什么要把事情复杂化?你确定这是谷歌的错吗?PHP文档也总是将我重定向到本地化版本。你的意思是一个单词在内容中匹配了多少次!?