preg_match_all查询以获取imdb页面中的流派

时间:2012-02-03 09:11:27

标签: php preg-match-all

preg_match_all( “/\(.*?)\& LT; / A> /”,$这 - >页面[ “标题”],$匹配);

伙计们,$ this-> page [“标题”]是http://uk.imdb.com/title/tt1285016/这样的网页内容。我需要获得与电影相关的类型列表,即[Action |戏剧|科幻]

我不知道任何关于正则表达式的PHP或任何东西。我总是讨厌模式匹配

这里的帮助将非常感谢。 THX。

点:这是我需要修改的现有代码。这是在php。

3 个答案:

答案 0 :(得分:2)

这应该更好:

preg_match_all("@<a href\=\"/genre/[\w\-]+\"[^>]*\>(.*?)\</a>@",$this->page["Title"],$matches)

答案 1 :(得分:1)

试试这个

preg_match_all('#/genre/[^>]+>([^<]+)<#',$this->page["Title"],$matches);

答案 2 :(得分:0)

您应该尝试使用其中一个many PHP HTML parsers

特别要看看PHP原生DOMDocument documentation

<小时/> 最后 - 正如我在上面的评论中发布的那样 - 使用正则表达式解析HTML是一个棘手的主题 - 请点击链接了解更多信息:)

RegEx match open tags except XHTML self-contained tags