빈 문자열 대체 문자가있는 php preg_replace가 인쇄 할 수없는 문자에서 작동하지 않습니다.

naspy971

필요한 일부 문자를 제외하고 문자열에서 인쇄 할 수없는 문자를 제거하려고합니다.

$arr = ['Ù', 'é', '€'];
$string = "é & Ù @ ♣ ☂ % & € À";
$acceptedChars = implode('\\', $arr);
$string = preg_replace('/[^[:print:] ' . $acceptedChars . ']/', '', $string);

echo 'Test : ' . $string;

내 문제는 원치 않는 문자를 두 번째 매개 변수에 설정된 빈 문자열로 바꾸는 대신 대신 이것을 얻는 것입니다.

여기에 이미지 설명 입력

Wiktor Stribiżew

인쇄 가능한 ASCII 문자 이외의 모든 문자를 제거하려면 $acceptedChars다음을 사용할 수 있습니다.

$string = preg_replace('/[^ -~' . $acceptedChars . ']/u', '', $string);

PHP 데모를 참조하십시오 .

-~패턴은 인쇄 가능한 ASCII 문자와 일치하는 알려진 패턴이다.

u수정은 유니 코드 문자열로 정규식 작업을 할 필요가있다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관