2011-03-07 3 views
0

str_ireplace()를 사용하고 있으므로 대용 문자를 구분하지 않으려 고 노력하고 있지만 원하는 것은 없으며이 문제를 극복하는 데 실마리가 없습니다.PHP insensitive 바꾸기

$q = "pArty"; 
$str = "PARty all day long"; 
echo str_ireplace($q,'<b>' . $q . '</b>',$str); 

출력은 그렇게 될 것입니다 : "<b>pArty</b> all day long"

은 그래서 이것은 내 코드입니다. 내재적 변수 $q을 민감한 것으로 바꾸기 때문에 출력이 이렇게 보입니다.

출력을 "<b>PARty</b> all day long"이되도록 어떻게 극복 할 수 있습니까? 당신이 "P A부터 R T는 Y"와 "P A부터 R T는 Y"를 대체하기 위해 요구되기 때문에

+0

질문을 읽었습니까? '$ str = "하루 종일";'왜 str_ireplace가 필요한가요 ?? 나는 당신이 웃음을 언급하는 것을 잊었거나, 당신이 출력을주는 str_ireplace를 사용하기 위해 어떤 감각이든 doens't를 doens't 질문 couse로 편집 해주세요! –

+0

질문에 대한 서식을 편집 할 때만 편집했지만 나중에 참조 할 수 있도록 질문 하단에있는 '편집 한 시간 전'링크를 클릭하여 편집 내역을 볼 수 있습니다. 위키처럼 작동합니다. –

+0

@poelince, 예. 오타가 있습니다. 나는'$ str = "PARTY 하루 종일" – Ron

답변

3

당신은 :, preg_replace

$q = preg_quote($q, '/'); // in case it has characters of significance to PCRE 
echo preg_replace('/' . $q . '/i', '<b>$0</b>', $str); 
+0

라고 쓰려고했다. 일을했다. 정말 고마워!. – Ron

0

그것을 예컨대을이 작업을 수행 할 수 있습니다. 명령에 따라 PHP가 준수합니다. 그러나 무엇을 대체하기를 원하십니까? 원래는 필요한 단어입니다.

+0

자동 완성 플러그인이있어서 결과에 질의어를 과장하고 싶었습니다. "like"조건을 사용하고 있으므로 민감하지 않은 결과를 반환하므로 대체 할 필요가 없습니다. – Ron