필요한 일부 문자를 제외하고 문자열에서 인쇄 할 수없는 문자를 제거하려고합니다.
$arr = ['Ù', 'é', '€'];
$string = "é & Ù @ ♣ ☂ % & € À";
$acceptedChars = implode('\\', $arr);
$string = preg_replace('/[^[:print:] ' . $acceptedChars . ']/', '', $string);
echo 'Test : ' . $string;
내 문제는 원치 않는 문자를 두 번째 매개 변수에 설정된 빈 문자열로 바꾸는 대신 대신 이것을 얻는 것입니다.
인쇄 가능한 ASCII 문자 이외의 모든 문자를 제거하려면 $acceptedChars
다음을 사용할 수 있습니다.
$string = preg_replace('/[^ -~' . $acceptedChars . ']/u', '', $string);
PHP 데모를 참조하십시오 .
-~
패턴은 인쇄 가능한 ASCII 문자와 일치하는 알려진 패턴이다.
u
수정은 유니 코드 문자열로 정규식 작업을 할 필요가있다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다