Php 使用正则表达式查找带有空格的链接
出于某种原因,下面的正则表达式的行为与我预期的不一样 我正在尝试从html文档中提取所有链接,尽管我似乎找不到一种方法来正确处理带有空格的链接 我知道链接应该被编码,但是如果我找不到它们,就没有办法对链接进行编码 我正在对这个html进行测试——请注意,唯一的区别是{your reference}中的空格Php 使用正则表达式查找带有空格的链接,php,regex,Php,Regex,出于某种原因,下面的正则表达式的行为与我预期的不一样 我正在尝试从html文档中提取所有链接,尽管我似乎找不到一种方法来正确处理带有空格的链接 我知道链接应该被编码,但是如果我找不到它们,就没有办法对链接进行编码 我正在对这个html进行测试——请注意,唯一的区别是{your reference}中的空格 Find out <a href="http://website.co.uk?element=1&reference={your reference}"><s
Find out <a href="http://website.co.uk?element=1&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&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&reference={yourreference}"
href="http://website.co.uk?element=1&reference={your reference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;"
href="http://website.co.uk?element=1&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&reference={yourreference}"
href="http://website.co.uk?element=1&reference={your reference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;"
href="http://website.co.uk?element=1&reference={yourreference}"><span style="color:#000000;">what something is here</span></a><span style="color:#000000;"
我不寻求帮助,这一套,只是原来的正则表达式张贴,我会相应地调整其余的
href="http(s{0,1}):\/\/(.+?)"
^^
使你的量词不贪婪