2012-06-21 3 views
0

내 위치 검색을 돕기 위해 drupal에 맞춤 모듈을 작성해야했습니다. 처음에는 쿼리에서 쉼표를 제거하기 만하면 정보가 내 데이터베이스에 저장되는 방식 때문에 모든 상태 인스턴스를 약어 (캘리포니아 -> 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; 
?>