【发布时间】:2015-03-02 11:15:56
【问题描述】:
所以我一直在阅读正则表达式,我在 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 代码插入到本地网站上的一个框中,然后将其传递给我的代码(我已经检查并确认这是有效的。
感谢您的帮助!
【问题讨论】:
-
不是整个解决方案,但您应该在第一个正则表达式中转义
</b>中的斜线:<\/b>。这是第一个在您的网站上不起作用的正则表达式吗? -
奇怪的是我告诉 PHP 将结果放在 comment2 中。但是评论 2 是空的。相反,comment1 具有 comment2[0] 中应该包含的内容。此外,这种变化似乎没有产生任何影响。
标签: php html arrays regex preg-match