Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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,出于某种原因,下面的正则表达式的行为与我预期的不一样 我正在尝试从html文档中提取所有链接,尽管我似乎找不到一种方法来正确处理带有空格的链接 我知道链接应该被编码,但是如果我找不到它们,就没有办法对链接进行编码 我正在对这个html进行测试——请注意,唯一的区别是{your reference}中的空格 Find out <a href="http://website.co.uk?element=1&amp;reference={your reference}"><s

出于某种原因,下面的正则表达式的行为与我预期的不一样

我正在尝试从html文档中提取所有链接,尽管我似乎找不到一种方法来正确处理带有空格的链接

我知道链接应该被编码,但是如果我找不到它们,就没有办法对链接进行编码

我正在对这个html进行测试——请注意,唯一的区别是{your reference}中的空格

Find out <a href="http://website.co.uk?element=1&amp;reference={your reference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;">.</span><br />

Find out <a href="http://website.co.uk?element=1&amp;reference={yourreference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;">.</span><br />
发现:

href="http://website.co.uk?element=1&amp;reference={yourreference}"
href="http://website.co.uk?element=1&amp;reference={your reference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;"

href="http://website.co.uk?element=1&amp;reference={yourreference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;"
但是,如果我将\S更改为。我希望检查会将链接返回到“结束”,但它几乎一直持续到字符串的末尾:

href="http(s{0,1}):\/\/(.+)"
发现:

href="http://website.co.uk?element=1&amp;reference={yourreference}"
href="http://website.co.uk?element=1&amp;reference={your reference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;"

href="http://website.co.uk?element=1&amp;reference={yourreference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;"
我不寻求帮助,这一套,只是原来的正则表达式张贴,我会相应地调整其余的

href="http(s{0,1}):\/\/(.+?)"

                          ^^
使你的
量词
不贪婪