2010-06-16 2 views
0

에 흥미로운 질문을' "않는 str_replace에 대해 PHP

다음은 예입니다. :

$search = array('A', 'B', 'C', 'D', 'E'); 
$replace = array('B', 'C', 'D', 'E', 'F'); 
$subject = 'A'; 
echo str_replace($search, $replace, $subject); 

I 교체 할 경우 어떻게'"대체 뭔가에 말 -. 어떻게해야합니까?

문제는 내가이

$search = array(''"', 'B', 'C', 'D', 'E'); 
$replace = array('-', 'C', 'D', 'E', 'F'); 
$subject = 'A'; 
echo str_replace($search, $replace, $subject); 

모든 솔루션 같은 것을 쓸 수있다?

+3

재미있는 질문이 아닙니다. 작은 따옴표를 사용하여 작은 따옴표를 이스케이프 처리하거나 큰 따옴표로 묶는 경우 큰 따옴표를 이스케이프 처리하면됩니다. – Timothy

+1

그에게 흥미 롭습니다. – webbiedave

+0

위의 의견에 동의합니다. 그것은 심지어 http://stackoverflow.com/faq에서 말합니다 : "좋아요, 다른 사람들을 똑같은 존경으로 대하면 그들이 당신을 대접하기를 바랄 것입니다." 아주 좋은 규칙, 나는 생각하고, 당신은이 사이트뿐만 아니라 일반적으로 인생에서 시도하고 따라야 만합니다. 또한, 우리는 모든 초보자였습니다. 아무도 학교에서 첫날을 읽을 수있을 것으로 기대하지 않습니다. 나는 신진 프로그래머가 그 일을하기 전에 일을 알기를 기대한다고 생각하지 않는다. – matsolof

답변

7
$search = array('\'"', 'B', 'C', 'D', 'E'); 

단일 인용 문자열은 두 탈출, '에 대한 \'\에 대한 \\ 있습니다.

+0

아, 이스케이프도 배열에서 작동하나요? 그걸 몰랐어. 감사! –

+1

@Eric Sim : PHP 코드의 모든 문자열을 이스케이프 처리 할 수 ​​있습니다. – animuson

관련 문제