정규식 함수에서 모두 개별적으로 나열 할 필요가없는 PHP의 문자열에서 영숫자가 아닌 문자를 모두 쉽게 제거 할 수 있습니까?문자열에서 영숫자가 아닌 문자 (ß, Ê 등)를 제거합니다.
나는 과거에 preg_replace("/[^a-zA-Z0-9\s\'\-]/", "", $my_string);
을 사용하고 있지만, 이것은 등 ÀÈÌÒÙß
나는 이름 필드, 그래서 통화 및 수학 문자/기호는 필요하지 않습니다를 소독 할 필요가
같은 중요한 문자를 필터링합니다. 이처럼
어떻게 당신이 중요한 나열된 문자를 수 있지만 ['Þ'] (http://en.wikipedia.org/wiki/Thorn_%28letter%29)? (예를 들면) 또는 다른 사람들의 전체 무리. Mu, Pi 또는 다른 그리스 알파벳의 나머지 부분을 허용하려면? 그리고 엔을 허용한다면, 왜 파운드와 달러가 아닌가? 나는 그 질문을 추측한다. 당신은 어디에서 선을 그어야 하는가? 어떤 캐릭터를 제외시키고 싶은가, 왜 그런가? 'μ'에 적용되지 않는 문자에 대한 특별한 점은 무엇입니까? – Spudley
기술적으로 말하면,'\ p {알파벳}'속성이'\ pL'도 아니고'\ pN'도 아닌 코드 포인트가 몇 개 있습니다. 대부분의 사람들은 영숫자에'[\ pL \ pN]' 특히 PHP가 [UTS # 18 RL1.2] (http://unicode.org/reports/tr18/#Compatibility_Properties)에서 요구하는'\ p {alphabetic} '속성을 호환성 등록 정보에서 지원하는 것으로 보이지 않으므로 특히 그렇습니다. – tchrist
당신은 @ Spudley 맞습니다. 이름 필드를 살균하는 동안 수학 기호 나 화폐 기호를 허용하는 것은 의미가 없으므로이 질문을 수정했습니다. – Citricguy