Comment supprimer le dernier caractère uniquement s'il s'agit d'un point?
$string = "something here.";
$output = 'something here';
$output = rtrim($string, '.');
(Référence: rtrim sur PHP.net )
utiliser rtrim remplace tout "." à la fin, pas seulement le dernier caractère
$string = "something here..";
echo preg_replace("/\.$/","",$string);
Pour supprimer le dernier caractère uniquement s'il s'agit d'un point et sans recourir à preg_replace
, nous pouvons simplement traiter la chaîne comme un tableau de caractères et supprimer le dernier caractère s'il s'agit d'un point.
if ($str[strlen($str)-1]==='.')
$str=substr($str, 0, -1);
Je sais que la question est quel âge, mais peut-être que ma réponse est utile pour quelqu'un.
$string = "something here..........";
ltrim supprimerait les points principaux. par exemple: - ltrim($string, ".")
rtrimrtrim($string, ".")
enlèverait les points de fuite.
trimtrim($string, ".")
enlèverait les points suivants et suivants.
vous pouvez aussi le faire par regex
preg_replace remove pourrait être utilisé pour supprimer des points à la fin
$regex = "/\.$/"; //to replace single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
preg_replace($regex, "", $string);
J'espère que cela vous sera utile.
Vous pouvez utiliser la fonction rtrim de php qui vous permet de couper les données qui existent en dernière position.
Par exemple :
$trim_variable= rtrim($any_string, '.');
Manière la plus simple et la plus rapide!
Le dernier caractère peut être supprimé de différentes manières. Voici quelques exemples.
rtrim ():
$ output = rtrim ($ string, '.');
Expression régulière
preg_replace ("/.$/", "", $ string);
substr ()/mb_substr ()
echo mb_substr ($ string, 0, -1);
echo substr (trim ($ string), 0, -1);
substr () avec trim ()
echo substr (trim ($ string), 0, -1);
Je sais que la question est résolue. Mais peut-être que cette réponse sera utile pour quelqu'un.
rtrim()
- Supprime les espaces (ou autres caractères) de la fin d'une chaîne
ltrim()
- Efface les espaces (ou autres caractères) à partir du début d'une chaîne
trim()
- Supprime les espaces (ou autres caractères) du début et de la fin d'une chaîne
Pour supprimer les caractères spéciaux à la fin de la chaîne ou si la chaîne contient des caractères spéciaux dynamiques à la fin, nous pouvons le faire par regex.
preg_replace
- Effectue une recherche par expression régulière et la remplace
_$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);
_
Voici un exemple à comprendre lorsque _$regex = "/[.*?!@#$&-_ ]+$/";
_ est appliqué à une chaîne
_$string = "Some text........"; // $resul -> "Some text";
$string = "Some text.????"; // $resul -> "Some text";
$string = "Some text!!!"; // $resul -> "Some text";
$string = "Some text..!???"; // $resul -> "Some text";
_
J'espère que cela vous sera utile.
Merci :-)
Utilisez une combinaison de strrpos et substr pour obtenir la position du dernier caractère de la période et supprimez-la en laissant tous les autres caractères intacts:
$string = "something here.";
$pos = strrpos($string,'.');
if($pos !== false){
$output = substr($string,0,$pos);
} else {
$output = $string;
}
var_dump($output);
// $output = 'something here';