[英]What is the regex for php to get the href value in all stylesheet tags from HTML?
使用 regex 和 preg_match_all 获取所有 href 标签以获取给定标签的 href 值的一般方法是什么并不总是按顺序排列。
例子:
<link href="foo.css" rel="stylesheet" type="text/css"/>
<link type="text/css" href="bar.css" rel="stylesheet"/>
<link rel="stylesheet" type="text/css" href="bar1.css"/>
<link type="text/css" href="bar2.css" rel="stylesheet"></link>
<link href="path/foo.css" rel="stylesheet" type="text/css"/>
应该导致:
Array(
'foo.css',
'bar.css',
'bar1.css',
'bar2.css',
'path/foo.css',
)
解析是要走的路:
$x = file_get_contents("foo.txt");
$xml = simplexml_load_string("<links>$x</links>");
$results = array();
foreach ($xml->link as $link)
$results[] = (string)$link['href'];
看到它的工作: https : //eval.in/132898
您要查找的正则表达式类似于以下内容,但需要进一步细化:
<link\s+(?:[^>]*?\s+)?href="([^"]*)"
测试针对
<link href="foo.css" rel="stylesheet" type="text/css"/>
返回值为
<link href="foo.css"
这是测试表达式的好地方: http : //regexpal.com/
我会说:
preg_match_all('/href=\"([a-z1-9\/.]+)\"/img', $head, $matches)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.