想要将一个短语与不区分大小写的preg_replace匹配

时间:2013-10-18 14:28:00

标签: php regex preg-match

我想检查短语“公司账单”,并且对整个短语不区分大小写(即,应该选择“公司账单”,“公司账单”,“CoMpAny BillING”等)。

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

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

2 个答案:

答案 0 :(得分:1)

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

$post['message'] = str_ireplace("company billing", "Company Billing", $post['message']);

答案 1 :(得分:0)

这应该足够好了:

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

preg_match 如果匹配失败则返回0

仅在发生错误时返回FALSE。