2011-09-09 5 views
0

"나는 어떻게 Matt 씨에게 가고 있니?"라고하는 문자열이 있습니다. 이제는이 문자열에서 [az] [AZ]가 아닌 큰 따옴표를 포함하여 모든 문자열을 바꿀 수 있기를 원합니다. 나는 PHP에서 그것을 달성합니까?정규 표현식에 대한 PHP 질문

+2

[글자를 제외한 모든 항목 제거] (http://stackoverflow.com/questions/7264274/remove-everything-except-letters), [문자열에서 영숫자가 아닌 문자는 어떻게 제거합니까? (ß, ... 포함)] (http://stackoverflow.com/questions/7271607/how-do-i-remove-non-alphanumeric-characters-in-a-string-including-ss-e-etc) , [PHP 문자열에서 일치하지 않는 문자를 모두 제거 하시겠습니까?] (http://stackoverflow.com/questions/3849359/remove-all-non-matching-characters-in-php-string), [PHP로 비 영숫자 문자 제거 ] (http://stackoverflow.com/questions/659025/removing-non-alphanumeric-characters-with-php) – outis

+0

응답을위한 감사합니다 그러나 나는 다만 [az] [AZ] 아닙니다 [ 0-9] thanks :) –

+0

첫 번째 질문은 당신과 정확히 같습니다. 세 번째 질문은 일반적인 질문이므로 문제를 해결하는 방법을 알려줍니다. 나머지는 사용자의 요구에 맞게 쉽게 바꿀 수 있으며 Unicode의 다른 문자에 대한 추가 정보를 얻을 수있을만큼 근접합니다. – outis

답변

0
$clean_string = preg_replace('/[^a-zA-Z]/','',$string); 

a-zA-Z가 아닌 모든 것을 대체합니다. 필요한 경우 []에 공백을 추가하고 공백이 모두 필요한 경우/s를 추가하십시오.

1

http://php.net/manual/en/function.preg-replace.php

<?php 
    $string = '"hey how are you going Mr. Matt"'; 
    $pattern = '/[^a-zA-Z]/'; 
    $replacement = '-'; 
    echo preg_replace($pattern, $replacement, $string); 
?> 

Live example (codepad).

/[^a-zA-Z]/은 정규 표현식입니다. 기본적으로는 및 A-Z을 포함하는 집합 ([])입니다. 그러나 반전되어 (^), 모든 영문자가 아닌 문자와 일!하며이를 대체합니다.

관련 문제