2012-06-21 22 views
0

我需要在drupal中編寫自定義模塊來幫助我進行位置搜索。最初我只需要從查詢中刪除一個逗號,然後我意識到我需要用他們的縮寫(California - > CA)替換所有狀態的實例,因爲信息在我的數據庫中存儲的方式。但是,這樣做後,我發現我使用preg_replace的方法似乎取決於大小寫。因此,在這一行:PHP preg_replace與任何變種的大小寫?

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

「亞拉巴馬」號將與「人」來代替,但「亞拉巴馬」號或「亞拉巴馬」號不會。有沒有辦法用阿拉巴馬州的縮寫代替阿拉巴馬州的任何一個實例,而不考慮腸衣中每種可能的變化?

回答

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

「i」修飾符會使模式不區分大小寫。

+0

真棒,非常感謝。不敏感是我不記得的詞,這顯然使我的答案無法找到。謝謝一堆。 – Mrweiner

6

,你也可以嘗試str_ireplace()這是不區分大小寫的

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