[php] PHP에서 문자열 끝에있는 모든 특정 문자를 제거하려면 어떻게합니까?
마침표 인 경우에만 마지막 문자를 제거하려면 어떻게합니까?
$string = "something here.";
$output = 'something here';
답변
$output = rtrim($string, '.');
(참조 : PHP.net의 rtrim )
답변
rtrim을 사용하면 모든 “.” 마지막 캐릭터뿐만 아니라
$string = "something here..";
echo preg_replace("/\.$/","",$string);
답변
마침표에 의존하지 않고 마지막 문자를 제거하려면 preg_replace
문자열을 문자 배열로 취급하고 점이면 최종 문자를 제거하면됩니다.
if ($str[strlen($str)-1]==='.')
$str=substr($str, 0, -1);
답변
나는 질문이 해결 된 것을 압니다. 그러나 아마도이 대답은 누군가에게 도움이 될 것입니다.
rtrim()
-문자열 끝에서 공백 (또는 기타 문자) 제거
ltrim()
-문자열의 시작 부분에서 공백 (또는 기타 문자) 제거
trim()
-문자열의 시작과 끝에서 공백 (또는 기타 문자) 제거
문자열 끝에서 특수 문자를 제거하거나 문자열 끝에 동적 특수 문자가 포함되어 있습니까? 정규식으로 수행 할 수 있습니다.
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, ".")
은 후행 및 선행 점을 제거합니다.
정규식으로도 할 수 있습니다.
preg_replace would remove는 끝에 점 / 점을 제거하는 데 사용할 수 있습니다.
$regex = "/\.$/"; //to replace single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
preg_replace($regex, "", $string);
도움이 되었기를 바랍니다.
답변
마지막 문자는 다른 방법으로 제거 할 수 있습니다.
rtrim()
$output = rtrim($string, '.');
Regular Expression
preg_replace("/\.$/", "", $string);
substr()
/mb_substr()
echo mb_substr($string, 0, -1);
echo substr(trim($string), 0, -1);
substr()
와trim()
echo substr(trim($string), 0, -1);