2011-05-03 2 views
2

다른 대체 규칙을 수행하는 변수를 만들려고합니다. 예를 들어 변수 이름에 공백이 있으면 다시 하이픈으로 대체합니다. 앰퍼샌드가 포함되어 있으면 문자열에서 제거합니다.문자열 교체에 대한 도움말

$reg_ex_space = "[[:space:]]"; 
$replace_space_with = "-"; 
$reg_ex_amper = "[&]"; 
$replace_amper_with = ""; 
$manLink1 = ereg_replace ($reg_ex_amper, $replace_amper_with, $manName); 
$manLink2 = ereg_replace ($reg_ex_space, $replace_space_with, $manLink1); 

내가 앰퍼샌드 무언가에서 manLink2 에코 때, 톰 & 제리가 톰을 반환합니다 말 - 제리 : 지금은이 있습니다.

더 효과적인 방법을 설명해 주실 수 있습니까?

+0

무엇이 좋습니까? '톰 - 제리? 교체 순서를 바꿀 수는 없습니까? (또한,''preg_replace'를 사용해 보셨습니까?] (http://php.net/manual/en/function.preg-replace.php)) – sdleihssirhc

답변

1

이렇게하면 &이 빈 문자열 (제거)로 바뀌고 공백을 -으로 바꿉니다.

그러면 복수 -을 하나로 응축합니다.

$str = str_replace(array('&', ' '), array('', '-'), $str); 

$str = preg_replace('/-{2,}/', '-', $str); 

CodePad.