0

我想检查短语“company billing”并使其对整个短语不区分大小写(即,应该选择“Company billing”、“company billing”、“CoMpAny BillING”等)。

我这里的代码似乎不想拿起它。我确定那里有一些不正确的正则表达式:

if (preg_match("/company billing\b/i", $post['message']) !== false) {
  $post['message'] = preg_replace('/billing\b/i', 'Company Billing', $post['message']);
}
4

2 回答 2

1

除非您的 RegEx 稍后需要变得比这更复杂,否则 str_ireplace()在这里似乎更好。也不需要条件,因为如果在字符串中找不到任何形式的“company billing”,则不会进行任何更改:

$post['message'] = str_ireplace("company billing", "Company Billing", $post['message']);
于 2013-10-18T14:31:07.087 回答
0

这应该足够好:

if (preg_match("/\bcompany billing\b/i", $string)) {
   // handle match success case
}
else {
   // handle match failure case
}

preg_match 如果匹配失败则返回 0

仅当发生错误时才返回 FALSE。

于 2013-10-18T14:29:49.483 回答