解析一系列字符串命令,我需要知道一个字符串是否包含特定的关键字.
听起来很简单我知道,但是当命令关键字也可能是另一个单词的一部分时,就会出现问题.
例如:
CHECKSOUND
SOUND
CHECK
Run Code Online (Sandbox Code Playgroud)
所以我需要检查当前行是否有CHECKSOUND,SOUND或CHECK命令.
如果我使用类似的东西:
if(stristr($line,'SOUND') == true)
Run Code Online (Sandbox Code Playgroud)
然后它可能在CHECKSOUND之前找到SOUND,因此无法正确解析.
问题:
有没有办法只找到一个整词般的声音的发生,如果发现像CHECKSOUND一个单词的一部分忽视了发生的声音?
我相信我在这里缺少一些简单的东西.
Jon*_*Jon 24
您可以使用正则表达式轻松实现目标.
示例#2来自以下文档preg_match:
/* The \b in the pattern indicates a word boundary, so only the distinct
* word "web" is matched, and not a word partial like "webbing" or "cobweb" */
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
Run Code Online (Sandbox Code Playgroud)
请注意,上面的示例使用i修饰符,这使得搜索"web"不区分大小写.