PHP 트림 유니코드 공백
P粉163951336
P粉163951336 2023-11-13 08:49:45
0
2
1034

이 문자와 같은 유니코드 공백을 잘라내려고 하는데 이 솔루션을 사용하면 가능했습니다. 이 솔루션의 문제점은 일반 문자 사이의 유니코드 공백을 자르지 않는다는 것입니다. 예를 들어 이것은 얇은 공간을 사용합니다

으아아아

정규식에 대해 조금 알고 있는데 이 문제를 해결하려면 표현을 어떻게 바꿔야 할지 모르겠어요

P粉163951336
P粉163951336

모든 응답(2)
P粉557957970

문자열의 시작과 끝 부분에 제어 문자가 있는 모든 유니코드 공백을 제거하고 문자열 내 어디에서나 일반 공백을 제외한 제어 문자가 있는 모든 유니코드 공백을 제거하려면

를 사용하세요. 으아악

정규식 데모 #1 및 정규식 데모 #2을 참조하세요.

세부정보

  • ^[pZpC]+ - 문자열 시작 부분에 하나 이상의 공백 또는 제어 문자
  • | - 또는
  • [pZpC]+$ - 문자열 끝에 하나 이상의 공백 또는 제어 문자
  • | - 또는
  • (?! )[pZpC] - 문자열 내의 일반 공백이 아닌 하나 이상의 공백 또는 제어 문자
  • [^S ] - 除常规空格 (x20)
  • 을 제외한 모든 공간

일반적인 줄바꿈도 "제외"해야 하는 경우 (?! )[pZpC] 替换为 (?![ rn])[ pZpC]由 @MonkeyZeus 建议) ,在第二个正则表达式中,这意味着您需要使用 [^S rn](?![ rn])[ pZpC]로 바꾸세요(@MonkeyZeus

에서 제안), 두 번째 정규식에서는 [^S rn]을 사용해야 함을 의미합니다.

PHP 데모 보기

: 🎜 으아악
P粉445750942

u{2009}와 같은 유니코드 공백이 어떻게 여러 곳에서 문제를 일으킬 수 있는지 알아보세요. 따라서 모든 유니코드 공백을 일반 공백으로 바꾼 다음 Trim()을 적용합니다.

으아악

참고: 주석의 문자열 표현은 debug::writeUni($string, $trimString);으로 표시됩니다. 이 클래스에서 구현되었습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿