美好的一天!
我的正则表达非常糟糕,我想请求帮助我的项目。
我有从其他网站抓取的内容,我想获得所有包含此字符串的锚标记。
target="_blank"
我将如何做到这一点?任何建议都将不胜感激。
由于
答案 0 :(得分:2)
正如评论中所提到的,正则表达式不是这里的答案。
使用DOM和XPath实现您想要的目标
$doc = new DOMDocument;
$doc->loadHTMLFile('http://www.example.com/some-file.html');
$xpath = new DOMXPath($doc);
$anchors = $xpath->query('//a[@target="_blank"]');
答案 1 :(得分:1)
$dom = new DOMDocument();
$dom->loadHtml($yourCobtent);
$xpath = new DOMXpath($dom);
$yourAnchors = $xpath->query('//a[@target="_blank"]');
答案 2 :(得分:0)
同意@quentin,但你可以使用regexr,(http://gskinner.com/RegExr/),所有锚标签的基本正则表达式为<a.*href=["'](?<url>[^"]+[.\s]*)["'].*>(?<name>[^<]+[.\s]*)</a>
(http://weblogs.asp.net/palermo4/archive/2004/06/18/regex-pattern-for-anchor-tags-part-2.aspx)