PHP 문자열 끝에 있는 모든 특정 문자를 제거하려면 어떻게 해야 합니까?

마침표인 경우에만 마지막 문자를 제거하려면 어떻게 해야 합니까?

$string = "something here."; $output = 'something here'; 


질문에 대한 답변



$output = rtrim($string, '.'); 

(참조: rtrim (PHP.net )




rtrim을 사용하면 마지막 문자뿐만 아니라 마지막에 모든 “.”가 바뀝니다.

$string = "something here.."; echo preg_replace("/.$/","",$string); 



마지막 문자가 마침표일 때에만 제거되고 다음 문자에 의존하지 않으려면preg_replace문자열을 char 배열로 취급하고 점일 경우 마지막 문자를 삭제할 수 있습니다.

if ($str[strlen($str)-1]==='.')
$str=substr($str, 0, -1); 



난 그 질문이 풀렸다는 걸 알아.하지만 아마도 이 대답이 누군가에게 도움이 될 것이다.

rtrim() – 문자열 끝에서 공백(또는 다른 문자)을 제거합니다.

ltrim() – 문자열의 선두에서 공백(또는 다른 문자)을 제거합니다.

trim() – 문자열의 처음과 끝에서 공백(또는 다른 문자)을 제거합니다.

문자열의 끝에서 특수문자를 삭제하거나 문자열 끝에 동적 특수문자가 포함되어 있는 경우 regex로 수행할 수 있습니다.

preg_replace – 정규 표현 검색 및 치환

$regex = "/.$/";
 //to replace the single dot at the end $regex = "/.+$/";
//to replace multiple dots at the end $regex = "/[.*?!@#$&-_ ]+$/"; //to replace all special characters (.*?!@#$&-_) from the end
$result = preg_replace($regex, "", $string); 

다음 예시는 다음과 같습니다.$regex = "/[.*?!@#$&-_ ]+$/";문자열에 적용됩니다.

$string = "Some text........"; // $resul -> "Some text"; $string = "Some text.????";
// $resul -> "Some text"; $string = "Some text!!!";
// $resul -> "Some text"; $string = "Some text..!???";
// $resul -> "Some text"; 

그것이 당신에게 도움이 되기를 바랍니다.

감사합니다:-)




나는 그 질문이 몇 살인지 알지만 내 대답이 누군가에게 도움이 될 수도 있다.

$string = "something here..........";

ltrim은 선행 닷을 제거합니다.예를 들어 다음과 같습니다.ltrim($string, ".")

rtrim rtrim($string, ".")뒷부분의 점을 제거합니다.

다듬다 trim($string, ".")후행점과 선행점을 제거합니다.

regex를 사용하여 이 작업을 수행할 수도 있습니다.

preg_replace would remove를 사용하여 끝에 있는 닷/점 제거 가능

$regex = "/.$/"; //to replace single dot at the end $regex = "/.+$/"; //to replace multiple dots at the end preg_replace($regex, "", $string); 

그것이 당신에게 도움이 되기를 바랍니다.