데이터베이스 쿼리에서 문자열을받은 다음 CSV 파일에 넣기 전에 모든 HTML 태그, 캐리지 리턴 및 개행을 제거합니다. 유일한 것은, 내가 여분의 공백을 사이의 문자열 사이에서 제거하는 방법을 찾을 수 없습니다.문자열 내에서 여분의 공백을 제거하십시오.
내부 공백 문자를 제거하는 가장 좋은 방법은 무엇입니까?
데이터베이스 쿼리에서 문자열을받은 다음 CSV 파일에 넣기 전에 모든 HTML 태그, 캐리지 리턴 및 개행을 제거합니다. 유일한 것은, 내가 여분의 공백을 사이의 문자열 사이에서 제거하는 방법을 찾을 수 없습니다.문자열 내에서 여분의 공백을 제거하십시오.
내부 공백 문자를 제거하는 가장 좋은 방법은 무엇입니까?
하지 :
당신은 당신이 trim()
를 사용할 수있는 처음이나 문자열의 끝을 초과 공백를 처리하는 경우, ltrim()
또는 rtrim()
을 사용하여 제거하십시오.
당신이 문자열 내 여분의 공백을 처리하는 경우 하나의 공백" "
여러의 preg_replace
공백" "*
고려하십시오.
예 :
$foo = preg_replace('/\s+/', ' ', $foo);
$ foo = preg_replace ('/ \ s + /', '', $ foo); – genio
이 코드는'$ foo = preg_replace ('/ \ s + /', '$, $ foo);를 사용하여 모든 새로운 행 –
을 제거 할 것입니다. –
또는 밑줄로 교체하십시오 (& nbsp; 등 등
당신이 원하는 그러나 여기에서 두 가지 상황 정확히 무엇인지공백을 모두 제거합니다. 그는 그냥 문자열을 정상화하고 싶어. – Svend
내가 찾고 있었던 것은 (심지어 질문이 아니었지만) – Sevenearths
나도이 특별한 해결책을 찾고 있었다. :) – swl1020
$str = trim(preg_replace('/\s+/',' ', $str));
여분 공간뿐만 아니라, 선행 및 후행 공백을 제거 위의 코드.
Sandip의 대답을 확장하려면 bit.ly로 잘못 코딩 된 로그에 문자열 묶음이 나타났습니다. 그들은 단지 URL을 코딩하는 것을 의미했지만 트위터 핸들과 다른 것들을 공백 뒤에 두었다. 그것은 그 문제 would't,하지만 난 SQL 주입 시도를 많이 받고 있어요,이
? productID =26%20via%[email protected]
일반적으로처럼 보였다, 그래서 내가 사용하는 (404)에 유효한 ID가 아닌 것은 리디렉션 preg_replace 메소드를 사용하여 유효하지 않은 productID 문자열을 유효한 productID로 만드십시오.
$productID=preg_replace('/[\s]+.*/','',$productID);
URL의 공백을 찾은 다음 모든 항목을 제거합니다. 다른 예
아무도 나를 위해 일한, 그래서 나는이 하나를 사용했습니다 :
trim(preg_replace('/[\s\t\n\r\s]+/', ' ', $text_to_clean_up))
이 간단한 한 공간으로 모든 탭, 새 라인, 이중 공간 등을 대체합니다."this string have lots of space . "
그리고 당신은 대답이 "this string have lots of space"
, 당신은 다음과 같은 솔루션을 사용할 수있을 것으로 예상 :
$strng = "this string have lots of space . ";
$strng = trim(preg_replace('/\s+/',' ', $strng));
echo $strng;
당신은 예를 들어, 문자열 만 여러 공백을 바꾸려면
원래의 문자열과 원하는 문자열.
이의 샘플을 게시하세요 – Zote
최종 출력물을 어떻게 작성해야하는지 정리할 수 있습니까? CSV 용 데이터에 쉼표를 삽입하고, 이미 쉼표가있는 데이터베이스에서 CSV 삽입을 처리하는 함수에 문자열을 입력하는 등의 작업을 수행하고 있습니까? –
ok 최종 출력은 각 단어가 하나의 공백으로 구분 된 문자열이어야하며, 여러 개의 공백이 있어야합니다. – joepour