공백을 밑줄로 바꾸기
사용자가 다음과 같은 이름을 입력하는 PHP 스크립트를 가지고 있습니다.Alex_Newton
,
단, 일부 사용자는 밑줄 대신 공간을 사용합니다.따라서 다음과 같이 질문합니다.
PHP에서 공백을 밑줄로 자동 바꾸려면 어떻게 해야 합니까?
$name = str_replace(' ', '_', $name);
다른 사용자들과 마찬가지로 다음을 사용하여 수행하는 방법에 대해 설명했습니다.str_replace
이를 위해 regex를 사용할 수도 있습니다.
$name = preg_replace('/\s+/', '_', $name);
$name = str_replace(' ', '_', $name);
http://php.net/manual/en/function.str-replace.php
PHP의 str_replace 함수를 사용합니다.
예를 들어 다음과 같습니다.
$str = str_replace(' ', '_', $str);
http://php.net/str_replace으로 전화 주세요.$input = str_replace(' ', '_', $input);
str_replace 사용:
str_replace(" ","_","Alex Newton");
또한 _words_more_words_와 같이 단어가 밑줄로 시작되거나 끝나는 것을 방지할 수도 있습니다.이렇게 하면 공백으로 시작되거나 끝나는 것을 피할 수 있습니다.
$trimmed = trim($string); // Trims both ends
$convert = str_replace('', '_', $trimmed);
사용할 수 있습니다.str_replace
당신의 이름이 변한다고 말한다.$name
$result = str_replace(' ', '_', $name);
또 다른 방법은 regex를 사용하는 것입니다.그것은 2개의 타임스페이스 등을 없애는 데 도움이 됩니다.
$result= preg_replace('/\s+/', '_', $name);
파일 이름을 지정하기 위해 공백을 밑줄로 구분하는 코드입니다.
$file = basename($_FILES['upload']['name']);
$file = str_replace(' ','_',$file);
이렇게 썼는데
$option = trim($option);
$option = str_replace(' ', '_', $option);
Strtr
는 문자열이 아닌 단일 문자를 대체하므로 이 예에 적합한 솔루션입니다.짐작건대strtr
보다 빠르다str_replace
(하지만 이 사용 사례의 경우 둘 다 매우 빠릅니다).
echo strtr('Alex Newton',' ','_');
//outputs: Alex_Newton
str_replace
- 명백한 해결책입니다.하지만 가끔은 정확히 어떤 공간이 있는지 알아야 해요.csv 파일의 공간에 문제가 있습니다.
2개의 문자가 있었지만, 그 중 하나는 0160(0x0A0)이고, 다른 하나는 보이지 않습니다(0x0C2).
최종 해결책:
$str = preg_replace('/\xC2\xA0+/', '', $str);
mc의 HEX 뷰어에서 보이지 않는 기호를 찾았습니다(한밤의 뷰어 - F3 - F9).
매개 변수가 있는 경우$string
언더스코어(_)로 빠르게 대체하고 싶습니다.
$string = "Hello All.";
$newString = str_replace(' ', '_', $string);
출력은 다음과 같습니다.Hello_All.
언급URL : https://stackoverflow.com/questions/6431051/replacing-spaces-with-underscores
'programing' 카테고리의 다른 글
개미 경로 스타일 패턴 (0) | 2022.09.13 |
---|---|
MariaDB는 비대칭 키 암호화를 제공합니까? (0) | 2022.09.13 |
-m 스위치의 용도는 무엇입니까? (0) | 2022.09.13 |
Galera 클러스터와의 중요한 읽기 및 느린 동기화 테스트 방법 (0) | 2022.09.13 |
Java HTTPS 클라이언트 증명서 인증 (0) | 2022.09.13 |