使用PHP

时间:2017-03-11 04:45:26

标签: php string

就像我有字符串"我想买1000美元的蛋糕"

所以,如果我按" 1000"应该返回true,但如果我搜索" 100"或" 10000"应该返回false

另一个例子:

"我很享受音乐"如果我搜索"享受"它应该是假的,但如果我搜索"享受"应该是真的

我试图使用if(strpos($string, $text ) !== false),但它无效,但如果特定单词后面或前面有额外的字母,则它总是返回true。

2 个答案:

答案 0 :(得分:1)

我会看正则表达式。这是一个类似问题的链接Regular expression to match a whole word有一个部分讨论单词边界,你需要检查出来。

答案 1 :(得分:1)

试试这个:

$haystack = "I want to buy a cake with $1000";
if (preg_match('/\$1000$/', $haystack, $match) === 1) {
  echo "Found it: ". $match[0];
}

还建议逃避您的美元符号,或将字符串放在单引号内作为安全措施。如果' $'之后有一个单词字符。符号,解析器将尝试将其扩展为变量(通过将其转换为字符串)。