我用file_get_contents
取了一些html把它放在一个字符串中。现在,我正试图在里面搜索。我想我应该使用通配符进行搜索,但我无法使用它。
我要搜索的html看起来像">2</td>
,我想在数字位中使用通配符。
我认为我应该使用正则表达式,但我无法弄清楚如何使用它。
我的试用版似乎:
if (preg_match('/>(\w+)</td>/', $content, $matches)) {
echo $matches[1];
}
如何在正则表达式中添加1的字符数限制,所以我最多只搜索3个字符,只搜索通配符的整数形式?
或者除了正则表达式之外还有更好的方法;寻找那些html字符串并将它们放在一个数组中?
答案 0 :(得分:1)
你需要改变两件事。将\w
替换为\d
仅允许数字而不是每个单词字符。其次,将+
替换为{1,3}
。最后说需要一个最多三位数字。您的完整陈述将是:
if (preg_match('/>(\d{1,3})</td>/', $content, $matches)) {
echo $matches[1];
}