2011-11-22 5 views
-2

특수 문자를 필터링하는 정규식이란 무엇입니까?PHP에서 특수 문자를 필터링하는 일반 표현식은 무엇입니까?

0-9 a-z A-Z 및 표준 범용 알파벳 (아랍어)을 제외한 문자를 제거하고 싶습니다.

예를 들어 `[email protected]#$%^&*()_+=-\][{}|';lL:"/.,<>? 및 기타 문자를 제거하십시오.

+0

"(아랍어) 표준 보편적 인 알파벳"는 무엇입니까? 어떤 문자가 포함되는지 정확하게 알고 있으면 Sjoerd의 답변에 추가하면 솔루션을 얻을 수 있습니다. – Kleist

+1

답을 낮추고 누군가가 그걸 기초로 사용하도록 제안하는 나쁜 형식. – Andrew

+1

[이 질문의 맨 위로 대답] (http://stackoverflow.com/questions/1011841/check-the-language-of-string-based-on-glyphs-in-php/1021799#1021799)을 참조하십시오. 아랍어 문자. – Wiseguy

답변

1
$result = preg_replace('~[^A-Za-z0-9]~', '', $text); 
+0

-1 요청시 "표준 범용 알파벳 (아랍어)"이 제거되지 않습니다. – Kleist

+0

그것은 아랍어를 지원합니다 – Hamidreza

+0

"표준 보편적 알파벳 (아랍어)"이 의미하는 바를 이해하지 못했습니다. ['u '수정 자] (http://php.net/manual/en/reference.pcre.pattern.modifiers.php)를 사용해보십시오. – Sjoerd

1

방법 :

preg_replace('/[^\p{Alphabetic}\p{Arabic}\pN]*/u', '', $str); 
관련 문제