我想测试一个字符串以查看它是否包含某些单词。
IE:
$string = "The rain in spain is certain as the dry on the plain is over and it is not clear";
preg_match('`\brain\b`',$string);
但是那个方法只能匹配一个词。如何检查多个单词?
原文由 Asim Zaidi 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想测试一个字符串以查看它是否包含某些单词。
IE:
$string = "The rain in spain is certain as the dry on the plain is over and it is not clear";
preg_match('`\brain\b`',$string);
但是那个方法只能匹配一个词。如何检查多个单词?
原文由 Asim Zaidi 发布,翻译遵循 CC BY-SA 4.0 许可协议
preg_match('~\b(rain|dry|certain|clear)\b~i',$string);
您可以使用竖线字符 ( |
) 作为正则表达式中的“或”。
如果您只需要知道是否存在任何单词,请使用 preg_match
如上所述。如果您需要匹配任何单词的所有出现,请使用 preg_match_all
:
preg_match_all('~\b(rain|dry|certain|clear)\b~i', $string, $matches);
然后检查 $matches
变量。
原文由 Czechnology 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答3.1k 阅读✓ 已解决
4 回答1.7k 阅读
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答1.2k 阅读
就像是: