공백을 밑줄로 바꾸기
나는 사용자가 같은 이름을 입력 것이라는 PHP 스크립트가 있습니다 Alex_Newton
,
그러나 일부 사용자는 밑줄 대신 공백을 사용하므로 내 질문은 다음과 같습니다.
PHP에서 공백을 밑줄로 자동 대체하는 방법은 무엇입니까?
$name = str_replace(' ', '_', $name);
다른 사람들 str_replace
이을 사용하여 수행하는 방법을 설명 했으므로 정규 표현식을 사용 하여이를 수행 할 수도 있습니다.
$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);
이것은 내 파일의 이름을 지정하기 위해 공백을 밑줄로 만드는 코드의 일부입니다.
$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
당신의 이름이 변수에 있다고 말할 수 있습니다$name
$result = str_replace(' ', '_', $name);
또 다른 방법은 정규식을 사용하는 것입니다 .2 시간 공간 등을 제거하는 데 도움이됩니다.
$result= preg_replace('/\s+/', '_', $name);
참고 URL : https://stackoverflow.com/questions/6431051/replacing-spaces-with-underscores
'Programing' 카테고리의 다른 글
Amazon Route53에서 DNS 기반 URL 전달 설정 (0) | 2020.06.29 |
---|---|
OpenID 대 OAuth (0) | 2020.06.29 |
macOS High Sierra에서 작동하지 않는 CocoaPod (0) | 2020.06.29 |
ListView가 비어있을 때 빈보기 표시 (0) | 2020.06.29 |
HttpServletRequest에서 getRequestURI와 getPathInfo 메소드의 차이점은 무엇입니까? (0) | 2020.06.29 |