PHP preg_match未返回正确的数组

PHP preg_match未返回正确的数组,php,html,arrays,regex,preg-match,Php,Html,Arrays,Regex,Preg Match,所以我一直在阅读regex,我在youtube上使用了一个很好的教程,对它进行了很好的解释,所以我决定尝试一些使用,结果在网站上效果很好,但在我的php代码中没有 所以我想在一些html代码中找到获胜者的名字。我正在浏览的这个网站只是为了测试,并且只在我的本地机器上运行^^ <span style="width: 45%; float: left; text-align: left"> <div class="team" style="float: left; margin

所以我一直在阅读regex,我在youtube上使用了一个很好的教程,对它进行了很好的解释,所以我决定尝试一些使用,结果在网站上效果很好,但在我的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>
最后,我重复了comment2[0]

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

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


感谢您的帮助!

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

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

preg_match("~[a-zA-Z]\w+~", $comment2[0], $comment3);
preg\u匹配(“~\w+\s\D\w\w\w\D~”,$comment1,$comment2);
预匹配(“~[a-zA-Z]\w+~”,$comment2[0],$comment3);

不是完整的解决方案,但您应该在第一个正则表达式中避开斜杠:
。这是第一个在您的网站上不起作用的正则表达式吗?奇怪的是,我告诉PHP将结果放在comment2中。但是comment2是空的。相反,comment1包含comment2中应该包含的内容[0]你能解释一下分隔符有什么不同吗(除了解决我的问题外)“@Thomja:奇怪,它对我来说很好。分隔符对于带有函数
preg_xxxx
的正则表达式是必需的。请看一看,它对我也起了作用。我只是调用了错误的变量。我发现有不同的分隔符,我使用哪一个重要吗?@Thomja:通常标准分隔符是
//code>,但使用的不是。”当分隔符出现在正则表达式中时,她的一个是有用的。对于您来说,
/
存在于
中,使用
~
可以防止转义
/
preg_match("[a-zA-Z]\w+", $comment2[0], $comment3);
preg_match("~<b>\w+\s\D\w\w\w\D</b>~", $comment1, $comment2);

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