줄바꿈을 제거하고 단일 공백으로 바꾸기
문자열에서 모든 줄바꿈을 제거하고 단일 빈 공백으로 바꾸려면 다음을 고려하세요. 다음 접근 방식을 따릅니다.
이해하기 문제
개행 문자가 포함된 문자열을 제거하고 그 자리에 공백 하나를 삽입하려고 합니다. 예를 들어, 문자열:
$string = " put returns between paragraphs for linebreak add 2 spaces at end ";
은 다음과 같아야 합니다:
$string = "put returns between paragraphs for linebreak add 2 spaces at end ";
Solution
이를 수행하려면 PHP의 preg_replace( ) 정규식과 함께 함수를 사용하여 개행 문자를 일치시키고 교체합니다. 다음 정규 표현식은 줄 바꿈(n), 캐리지 리턴(r) 및 이중 줄 바꿈("rn")을 포함한 모든 줄 바꿈을 식별합니다.
/\r\n|\r|\n/
그러나 이 접근 방식은 다음과 같은 경우가 있을 수 있다는 점에 유의하는 것이 중요합니다. 여러 연속 개행 문자를 여러 공백으로 바꿉니다. 이를 방지하려면 여러 공백과 일치하고 단일 공백으로 바꾸는 보다 효율적인 정규식을 사용하세요.
$string = trim(preg_replace('/\s\s+/', ' ', $string));
이 수정된 정규식을 사용하면 단일 줄바꿈과 여러 줄 바꿈 및 여러 공백 모두에 사용할 수 있습니다. 하나의 공백으로 대체됩니다.
추가 고려 사항
제공되는 솔루션이 효과적으로 줄 바꿈을 제거하고 그 자리에 단일 공백을 삽입하는 경우 여러 개의 연속 단어가 포함될 때 상황이 더 복잡해질 수 있다는 점을 언급할 가치가 있습니다. 이러한 시나리오의 경우 이중 공백이 발생하지 않는 대체 접근 방식은 다음과 같습니다.
$string = trim(preg_replace('/\s+/', ' ', $string));
위 내용은 PHP에서 문자열의 줄 바꿈을 단일 공백으로 어떻게 바꿀 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!