2017-10-20 35 views
0

J'utilise rtrim() pour enlever une partie à la fin de la chaîne, , US dans mon exemple:retirer une partie à la fin de la chaîne - dernier match que

<?php 

$str = "Hello - world, c., US, US"; 

echo rtrim($str,", US"); 

?> 

Sortie:

Hello - world, c. 

Il a enlevé , US, US et je veux enlever le dernier seulement et la sortie devrait être Hello - world, c., US

Comment je peux faire cela s'il vous plaît?

+0

pourquoi ne pas supprimer tout simplement les 4 derniers caractères? – RomanPerekhrest

Répondre

3

rtrim() ne supprime pas une chaîne spécifique, il utilise la chaîne comme une liste de caractères à supprimer à la fin.

Utilisez un remplacement d'expression régulière:

echo preg_replace('/, US$/', '', $str); 

Les ancres $ le match à la fin de la chaîne.

1

substr + strrpos approche:

$str = "Hello - world, c., US, US"; 
echo substr($str, 0, strrpos($str, ", US")); 

La sortie:

Hello - world, c., US 
+0

Merci pour votre aide +1 – user2203703