获取元素的href属性的内容

时间:2011-04-29 14:37:41

标签: php html regex parsing

  

可能重复:
  Grabbing the href attribute of an A element

您好,

我有以下要解析的html:

<td align="left" nowrap="nowrap"><a href="XXXXXXX">

我想在变量上保存XXXXX。 我几乎都不知道正则表达式。我知道如何使用strpos,substr等来实现它。但我相信它比使用正则表达式慢。

if (preg_match('!<td align="left" NOWRAP><a href=".\s+/.+">!', $result, $matches))
    echo $matches[1];
else
    echo "error!!!";

我知道以前的代码对正则表达式专家来说是一种暴行。但我真的不知道该怎么做。我需要一些提示,而不是完整的解决方案。

3 个答案:

答案 0 :(得分:3)

这是我的(非远程原创)提示:不要使用正则表达式来解析HTML。 使用HTML解析器。

请参阅How do you parse and process HTML/XML in PHP?

答案 1 :(得分:2)

了解正则表达式的一件事是知道何时使用它们。

通常当你想解析 HTML时,9/10次,正则表达式不是正确的工具。

您可以使用DOM parser

答案 2 :(得分:1)

如果您的结构总是与您发布的相同,则可以使用此REGEX:

<td\s+align="left"\s+nowrap="nowrap">\s*<a\s+href="(.*?")>

然后取组#1,它是括号之间的字符串。你必须创建一个,一个括号之间的区域,它包含你将获得的数据。 This link包含有关正则表达式和PHP实现的有用信息。