[英]With PHP preg_match_all, get value of href
即使在我阅读本教程之后,我也不太了解正则表达式的工作原理http://www.webcheatsheet.com/php/regular_expressions.php
这是我需要找到的:
<link type="text/html" rel="alternate" href="http://link"/>
它应该返回:
http://link
这是我尝试过的:
$find = preg_match_all(
'/<link type="text/html" rel="alternate" href=".*',
$file,
$patterns2
);
你可以笑:)
在此先感谢您的帮助和时间:)
使用正则表达式解析(X)HTML 几乎肯定是错误的 。 使用专用的XML解析器。 有足够的PHP可用。
使用simplexml
$html = '<link type="text/html" rel="alternate" href="http://link"/>';
$xml = simplexml_load_string($html);
$attr = $xml->attributes();
使用dom
$dom = new DOMDocument;
$dom->loadHTML($html);
$nodes = $dom->getElementsByTagName('link');
$attr = $nodes->item(0)->getAttribute('href');
你必须在括号中覆盖所需的文本块,如(.*)
,这将是返回的内容
这个适合我
<?php
preg_match_all('/<link type="text\/html" rel="alternate" href="(.*)"\/>/','<link type="text/html" rel="alternate" href="http://link"/>',$patterns2);
print_r($patterns2);
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.