> 백엔드 개발 > PHP 문제 > PHP에서 공백을 제거할 수 없는 경우 대처 방법

PHP에서 공백을 제거할 수 없는 경우 대처 방법

藏色散人
풀어 주다: 2023-03-17 09:32:01
원래의
2171명이 탐색했습니다.

제거할 수 없는 PHP 공간에 대한 솔루션: 1. 16진수 편집기를 사용하여 바이트를 확인합니다. 2. "regex-pattern"에 u 매개변수를 추가합니다. 3. "str_replace(' ', '', $fieldname )를 사용합니다. ;" 공백을 바꾸는 방법입니다.

PHP에서 공백을 제거할 수 없는 경우 대처 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, Dell G3 컴퓨터.

php 공백을 지울 수 없으면 어떻게 해야 하나요?

PHP 문자열을 받았는데 공백을 제거해야 합니다. 다음 코드를 사용했지만 $classname을 echo하면 여전히 공백이 포함된 문자열만 표시됩니다.

$fieldname = the_sub_field('venue_title');
$classname = str_replace(' ', '', $fieldname);
echo $classname;
로그인 후 복사

16진수 편집기를 사용하여 바이트를 살펴보세요. HEX의 공백이 20이 아닌 경우 "일반" 공백이 아닙니다. PHP의 간단한 함수를 사용하여 HEX로 변환할 수 있습니다.

PHP에서 변수 내부 공백 제거의 중복 가능성

문자열이 UTF-8 인코딩을 가질 수 있으므로 정규식 패턴에 u 매개변수를 추가해 보세요:

$classname  =  preg_replace('/\s+/u', '', $fieldname);
로그인 후 복사

Wow. 매우 감사합니다! 돕다!

이것이 나에게 맞는 유일한 방법입니다

여기도 마찬가지입니다. 문자열은 WordPress 메타 필드에서 복구됩니다. 이전 웹사이트에서 "복사하여 붙여넣기"한 후 다른 인코딩을 사용하여 관리자 패널에 저장했습니다...

공백이 공백으로 인해 발생한다는 것을 알고 있다면 다음을 사용할 수 있습니다:

$classname = str_replace(' ','',$fieldname );
로그인 후 복사

그러나 공백으로 인해 발생할 수 있는 경우 , 다음을 사용할 수 있습니다:

$classname = preg_replace('/\s+/','',$fieldname )
로그인 후 복사

h+ 대신 s+를 사용하여 수평 공백을 얻으세요. 이렇게 하면 필요한 경우 줄 바꿈이 유지됩니다.

문제는 해당 문자가 공백이 아니라 또 다른 공백 문자라는 것일 수 있습니다.

이렇게 트림을 사용해

$classname = preg_replace('/\s/', '', $fieldname);
로그인 후 복사

해 보세요.

TRIM($fieldname);
로그인 후 복사

편집:

preg_replace('/\s+/', '', $fieldname);
로그인 후 복사

trim()은 문자열의 시작과 끝에서만 공백을 제거합니다.

'trim()'은 문자열의 시작이나 끝에서만 잘라냅니다. 끈. Paul의 예에서는 공백 문자가 문자열에 포함될 수 있습니다.

문제는 PHP의 나머지 부분이 아니라 그것이 끌어들이는 필드입니다. 'the_sub_field('venue_title')'은 wordpress 플러그인 'Advanced Custom Fields'에서 필드를 추출하지만 이 함수는 데이터를 검색하는 대신 데이터를 표시하는 데 사용됩니다. 대신 'get_sub_field('venue_title')'을 사용하면 작동합니다. 도움을 주셔서 감사합니다

이것이 이 위협에 대한 정답입니다. 플래그를 지정해야 합니다.

공간이 실제 공간이 아니라 다른 형태의 공백일 수도 있습니다.

다음을 시도해 보세요.

$classname = preg_replace('/\s+/', '', $fieldname);
로그인 후 복사

여기에서.

가로 공백을 h+로 바꾸면 필요한 경우 줄 바꿈이 유지됩니다.

$fieldname ="I  am  21  Years  Old";
$classname = str_replace(' ', '', $fieldname);
echo $classname;
?>
로그인 후 복사

완벽하게 작동합니다.

이 함수를 통해 반환 값을 확인하세요: the_sub_field('venue_title');

문제는 문자열이 문자열로 처리되지 않는다는 것입니다. "양쪽 모두 필요합니다. PHP에서 이를 어떻게 수행합니까? 예를 들어 $fieldname="'".the_sub_field('venue_title')."'";

use "".the_sub_field('venue_title')." "+ the_sub_field('venue_title')+"

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 공백을 제거할 수 없는 경우 대처 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿