PHP使用正则表达式拆分字符串

时间:2014-02-20 00:59:02

标签: php regex string

我已经尝试了一段时间,但从未真正理解正则表达式。如何拆分此字符串以便获得域名的年龄?感谢。

<a target=_blank title='View how the website looked at this Age' href=website-history.php?archiveCreationTime=2013050316413&domain=domain.net>0 years 9 months old</a>

顺便说一下,代码是html源代码的一部分。

抱歉,这可能是一个菜鸟问题。但我从来没有时间学习正则表达式。我试着爆炸,但我不能让它成熟。

2 个答案:

答案 0 :(得分:3)

You shouldn't use regular expressions for parsing HTML。您应该使用为此设计的工具,如DomDocument。这是一个基本的例子:

<?php
$string = "<a target=_blank title='View how the website looked at this Age' href=website-history.php?archiveCreationTime=2013050316413&domain=domain.net>0 years 9 months old</a>";
$dom = new DOMDocument();
@$dom->loadHTML($string);
$anchor = $dom->getElementsByTagName('a')->item(0);
echo $anchor->nodeValue;

See it in action

答案 1 :(得分:0)

您可以使用phpQuery执行此操作。如果您需要一个实际示例,可以阅读scrape anchor tags的方法。那里有一些相关代码向您展示如何获取锚标记并拉出锚节点的内部文本。