PHP preg_replace是否有大/小写的变化?

Mrw*_*ner 0 preg-replace

我需要在drupal中编写一个自定义模块来帮助我进行位置搜索.最初我只需要从查询中删除一个逗号,然后我意识到我需要用缩写(加利福尼亚 - > CA)替换所有状态实例,因为信息存储在我的数据库中.但是,在执行此操作后,我发现使用preg_replace的方法似乎依赖于大写/小写.所以在这一行:

$form_state['values'] = preg_replace("/alabama/", 'al', $form_state['values']);

"alabama"将被替换为"al",但"Alabama"或"ALABAMA"将不会.有没有办法用它的缩写取代任何Alabama实例而不考虑外壳中每种可能的变化?

Har*_*val 6

你也可以尝试 str_ireplace()它不区分大小写

<?php
$str = 'alabama ,Alabama,ALABAMA';
$replace = str_ireplace('alabama','al',$str);
echo $str;
echo "<br/>";
echo $test;
?>
Run Code Online (Sandbox Code Playgroud)


Ell*_*nce 5

$form_state['values'] = preg_replace("/alabama/i", 'al', $form_state['values']);
Run Code Online (Sandbox Code Playgroud)

'i'修饰符将使模式不区分大小写.