Wie entferne ich das letzte Zeichen nur, wenn es sich um einen Punkt handelt?
$string = "something here.";
$output = 'something here';
$output = rtrim($string, '.');
(Referenz: rtrim auf PHP.net )
mit rtrim werden alle "." am Ende nicht nur das letzte Zeichen
$string = "something here..";
echo preg_replace("/\.$/","",$string);
Um das letzte Zeichen nur zu entfernen, wenn es sich um einen Punkt handelt und nicht auf preg_replace
zurückgegriffen wird, können wir die Zeichenfolge einfach als ein Array von char behandeln und das letzte Zeichen entfernen, wenn es sich um einen Punkt handelt.
if ($str[strlen($str)-1]==='.')
$str=substr($str, 0, -1);
Ich weiß, die Frage ist etwas alt, aber vielleicht ist meine Antwort für jemanden hilfreich.
$string = "something here..........";
ltrim würde führende Punkte entfernen. zum Beispiel: - ltrim($string, ".")
rtrimrtrim($string, ".")
würde nachfolgende Punkte entfernen.
trimtrim($string, ".")
würde nachfolgende und führende Punkte entfernen.
sie können dies auch durch Regex tun
preg_replace would remove kann zum Entfernen von Punkten/Punkten am Ende verwendet werden
$regex = "/\.$/"; //to replace single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
preg_replace($regex, "", $string);
Ich hoffe es ist hilfreich für dich.
Sie können die RTRIM-Funktion von PHP verwenden, mit der Sie die an der letzten Position vorhandenen Daten trimmen können.
Zum Beispiel :
$trim_variable= rtrim($any_string, '.');
Einfachste und schnellste Methode !!
Das letzte Zeichen kann auf verschiedene Arten entfernt werden
rtrim ():
$ output = rtrim ($ string, '.');
Regulären Ausdruck
preg_replace ("/.$/", "", $ string);
substr ()/mb_substr ()
echo mb_substr ($ string, 0, -1);
echo substr (trim ($ string), 0, -1);
substr () mit trim ()
echo substr (trim ($ string), 0, -1);
Ich weiß, dass die Frage gelöst ist. Aber vielleicht ist diese Antwort für jemanden hilfreich.
rtrim()
- Leerzeichen (oder andere Zeichen) am Ende einer Zeichenfolge entfernen
ltrim()
- Leerzeichen (oder andere Zeichen) am Anfang einer Zeichenfolge entfernen
trim()
- Leerzeichen (oder andere Zeichen) am Anfang und Ende einer Zeichenfolge entfernen
Zum Entfernen von Sonderzeichen am Ende der Zeichenfolge oder zum Enthalten der Zeichenfolge dynamische Sonderzeichen am Ende können wir Regex verwenden.
preg_replace
- Führen Sie ein Suchen und Ersetzen mit regulären Ausdrücken durch
_$regex = "/\.$/"; //to replace the single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
$regex = "/[.*[email protected]#$&-_ ]+$/"; //to replace all special characters (.*[email protected]#$&-_) from the end
$result = preg_replace($regex, "", $string);
_
Hier ist ein Beispiel, um zu verstehen, wann _$regex = "/[.*[email protected]#$&-_ ]+$/";
_ auf Zeichenfolge angewendet wird
_$string = "Some text........"; // $resul -> "Some text";
$string = "Some text.????"; // $resul -> "Some text";
$string = "Some text!!!"; // $resul -> "Some text";
$string = "Some text..!???"; // $resul -> "Some text";
_
Ich hoffe es ist hilfreich für dich.
Vielen Dank :-)
Verwenden Sie eine Kombination aus strrpos und substr , um die Position des letzten Punktes zu ermitteln und es zu entfernen, wobei alle anderen Zeichen intakt bleiben:
$string = "something here.";
$pos = strrpos($string,'.');
if($pos !== false){
$output = substr($string,0,$pos);
} else {
$output = $string;
}
var_dump($output);
// $output = 'something here';