PHP preg_match没有返回正确的数组

时间:2015-03-02 11:15:56

标签: php html arrays regex preg-match

所以我一直在阅读正则表达式,我在youtube上使用了一个很好的教程解释它非常好所以我决定尝试一些使用http://www.phpliveregex.com/并且它在网站上运行得很好但不在我的php中代码。

所以我想要的是在某些HTML代码中找到获胜者的名字。我正在浏览的这个网站只是用于测试目的,只能在我的本地机器上运行^^

<span style="width: 45%; float: left; text-align: left">
  <div class="team" style="float: left; margin-right: 10%; background: url('http://cdn.csgolounge.com/img/teams/Cloud9.jpg?41')"></div>
  <b>Cloud9 (win)</b><br><i>84%</i>      </span>

所以我开始做的是整理一个单词和一个空格以及被 包围的(win)。我这样做:

preg_match("<b>\w+\s\D\w\w\w\D</b>", $comment1, $comment2);

$ comment1是html代码。

然后我再次preg_match以获取获胜者的名字:

preg_match("[a-zA-Z]\w+", $comment2[0], $comment3);

然后我通过回复comment2 [0]

完成

我在phpliveregex上试过这个并且效果很好。但是在我的网站上,comment2 [0]没有显示任何内容。

我将html代码插入本地网站上的一个框中,然后将其传递给我的代码(我已经检查并确认这是有效的。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

你必须在正则表达式周围添加分隔符:

preg_match("~<b>\w+\s\D\w\w\w\D</b>~", $comment1, $comment2);

preg_match("~[a-zA-Z]\w+~", $comment2[0], $comment3);