Programing

공백을 밑줄로 바꾸기

lottogame 2020. 6. 29. 08:01
반응형

공백을 밑줄로 바꾸기


나는 사용자가 같은 이름을 입력 것이라는 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

반응형