因此,我想将以下链接结构与 php 中的 preg_match_all 进行匹配。
<a garbage href="http://this.is.a.link.com/?query=this has invalid spaces" possible garbage>
<a garbage href='http://this.is.a.link.com/?query=this also has has invalid spaces' possible garbage>
<a garbage href=http://this.is.a.link.com/?query=no_spaces_but_no_delimiters possible garbage>
<a garbage href=http://this.is.a.link.com/?query=no_spaces_but_no_delimiters>
我可以这样做
'#<a[^>]*?href=("|\')(.*?)("|\')#is'
或者我可以得到所有 3 个,但如果前两个中有空格,则不能:
'#<a[^>]*?href=("|\')?(.*?)[\s\"\'>]#is'
我该如何制定它,以便它可以拾取 " 和 ' 用潜在的空格分隔,但也可以正确编码没有分隔符的 URL。