2013-03-25 3 views
1

PHP를 사용하여 각 문자열의 시작과 끝 부분에있는 모든 특수 문자를 제거하는 방법은 무엇입니까? 어떻게하는지 알려줘 ?PHP를 사용하여 각 문자열의 시작과 끝의 모든 특수 문자를 제거하십시오.

예제 코드 :

$string ="_$#+Hello(+- $^#[email protected]!%=+"; 

제거 후 문자열의 모든 특수 문자는 시작 및 종료 위치는 국지적 인 문자열은 다음과 같이 출력 될 것이다 :

$string ="Hello(+- $^#World2013"; 
+5

[무엇을 시도해 봤습니까?] (http://www.whathaveyoutried.com/) [ask advice] (http://stackoverflow.com/questions/ask-advice)를 참조하십시오. –

+0

정규식의 경우 여기를 확인하십시오. http://www.regular-expressions.info/quickstart.html – bodi0

+0

아마도': cntrl :'이 작동 할 수 있습니다. 시험 해봐. – hjpotter92

답변

2
$string ="_$#+Hello(+- $^#[email protected]!%=+"; 

$sub_string = preg_replace("/^([^a-zA-Z0-9])*/", "", $string,1); 
$sub_string = strrev(preg_replace("/^([^a-zA-Z0-9])*/", "",strrev($sub_string),1)); 

var_dump($sub_string); // string(21) "Hello(+- $^#World2013" 
+0

@Sepster 사실이긴하지만 가능한 모든 특수 문자를 나열해야합니다. 그의 명단은 광산 허용 목록입니다. – Prisoner

6

트림이 문자를 제거합니다 문자열의 시작과 끝.

$string ="_$#+Hello(+- $^#[email protected]!%=+"; 

$my_special_characters='_$#@!%=+'; 
$string=trim($string, $my_special_characters); 

필요에 따라 $ my_special_characters 변수를 업데이트 할 수 있습니다.

+0

+1 좋은 친구. 작업을 위해 만들어진 목적이 있다면, 그것을 사용하십시오 (특히 정규 표현식을 피하는 데 도움이되는 경우)! – Sepster

+0

+1 멋지게 간단합니다. –

관련 문제