입력 문자열을 받아 영숫자만 남기고 모든 특수 문자를 제거함으로써 검색된 버전을 반환하는 php 함수를 찾고 있습니다.
알파벳 A~Z만 반환하는 두 번째 기능이 필요합니다.
아무쪼록 잘 부탁드립니다.
질문에 대한 답변
경고:영어는 A-Z에만 국한되지 않습니다.
a-z, A-Z 및 0-9를 제외한 모든 항목을 제거하려면 다음을 수행합니다.
$result = preg_replace("/[^a-zA-Z0-9]+/", "", $s);
영숫자의 정의에 외국어로 된 문자와 오래된 스크립트가 포함되어 있는 경우 Unicode 문자 클래스를 사용해야 합니다.
A-Z만 남겨두려면 다음을 수행합니다.
$result = preg_replace("/[^A-Z]+/", "", $s);
경고의 이유는 이력서와 같은 단어에 문자가 포함되어 있기 때문입니다.é
이것과는 비교가 안 될 거야특정 문자 목록을 일치시키려면 해당 문자를 포함하도록 정규 표현을 조정합니다.모든 문자를 일치시키려면 주석에서 설명한 대로 적절한 문자 클래스를 사용하십시오.
보다는preg_replace
, PHP의 필터 함수는 언제든지 사용할 수 있습니다.filter_var()
와 기능하다.FILTER_SANITIZE_STRING
.