Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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 预匹配a<;链接>;href_Php_Regex_Preg Match_Href - Fatal编程技术网

Php 预匹配a<;链接>;href

Php 预匹配a<;链接>;href,php,regex,preg-match,href,Php,Regex,Preg Match,Href,我正在尝试做一些我认为很简单的事情,但是没有运气。目标是从任何标记中获取href值。例如: 资料来源: <link href="http://www.somesite.com/test.css" rel="stylesheet" type="text/css"> 正则表达式: <link[^>]*href=["{1}](.*?)["{1}][^>]*> ]*href=[“{1}]”(.*?[“{1}][^>]*> 它似乎在有效,但我正在尝试,但它不起

我正在尝试做一些我认为很简单的事情,但是没有运气。目标是从任何标记中获取href值。例如:

资料来源:

<link href="http://www.somesite.com/test.css" rel="stylesheet" type="text/css">

正则表达式:

<link[^>]*href=["{1}](.*?)["{1}][^>]*>
]*href=[“{1}]”(.*?[“{1}][^>]*>
它似乎在有效,但我正在尝试,但它不起作用


有什么想法吗?

看起来您在字符类
[]
中包含了
{1}
,而它应该紧跟其后。实际上,它甚至没有必要,因为它是隐式的。但是,您应该使用
[^”]
将所有内容匹配到下一个报价:

<link[^>]*href="([^"]*)"[^>]*>
]*href=“([^”]*)”[^>]*>
注意:您仅尝试匹配双引号href属性。如果您希望遇到任何单引号属性,则需要对其进行修改


强制性公共服务公告:最好使用适当的HTML解析库来解析HTML和检索属性,而不是尝试用正则表达式解析它。

做到了-谢谢!我相信一个HTML解析器将是最好的选择,但在项目到期之前我只有3个小时的时间。有时暴力就是答案。:)