PHP supprimer des caractères après la dernière occurrence d'un caractère dans une chaîne
De sorte que le cas de test chaîne peut être:
http://example.com/?u=ben
Ou
http://example.com
Je suis en train de supprimer tout ce qui est après la dernière occurrence d'un'/', mais seulement si elle ne fait pas partie de la " http://'. Est-ce possible!?
J'ai jusqu'à présent:
$url = substr($url, 0, strpos( $url, '/'));
Mais ne fonctionne pas, enlève tout ce qui est après la première '/'.
- Je ne sais pas ce que vous êtes en utilisant ce pour mais si vous êtes tenter de bande de campagne de codes de suivi, le résultat Url travaillent habituellement, mais pas toujours 😉 Par exemple, je pense que YouTube a besoin du "?"
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser l'outil qui est conçu pour ce type de travail, parse_url
url.php
Exemple:
Vous devez utiliser strrpos la fonction n'est pas strpos 😉
substr($url,0,strrpos($url,'/') !== false ? strrpos($url,'/') : strlen($url));
substr($url,0,strrpos($url,'/') ?: strlen($url));
En fait, une solution plus simple pour ce que vous voulez atteindre est de jouer avec quelques fonctions de manipulation de chaîne de PHP.
Tout d'abord, vous devez trouver la position de la dernière occurrence de '/'. Vous pouvez le faire en utilisant la strrpos() fonction (attention, c'est avec 2 r);
Alors, si vous fournissez cette position comme une valeur négative, comme un second paramètre de la fonction substr (), il va commencer la recherche de la sous-chaîne à partir de la fin.
Le deuxième problème est que vous voulez comme résultat de la part de ces chaînes qui est à la GAUCHE de la dernière '/'. Pour y parvenir, vous devrez fournir substr() avec une valeur négative pour la troisième paramètre qui indique le nombre de caractères que vous souhaitez supprimer.
Pour être sûr de la façon dont de nombreux paramètres, vous devez retirer, vous devez extraire la partie de chaîne à la DROITE de " /" d'abord, puis à compter de sa longueur.
aussi