Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

Messages: 333

Enregistré le: 20 Juil 2005

Message le Mer Avr 12, 2006 19:01

Bonjour,

je dois enlever une partie de chaine d'une chaine complete:

La chaine se compose d'une serie de mots puis du mot "dans" et ensuite une autre serie de mots : " [partie1]dans[partie2] "

je dois enlever la partie2 ainsi que le mot "dans". Mais dans la partie1 il peut y avoir le mot "dans". Donc il faut enlever tous les mots a partir du dernier "dans"

je n'arrive pas a trouver la position du dernier "dans". je ne vois pas quels fonctions utilisée.
J'ai essayé strripos en faisant une inversion de la chaine pour trouver la position du dernier "dans" mais il faut php5 :?

quelqu'un a t-il une idée?
Haut
9 Réponses
Messages: 787

Enregistré le: 19 Déc 2002

Message le Mer Avr 12, 2006 19:10

http://fr.php.net/manual/fr/function.strrpos.php
Haut
Messages: 333

Enregistré le: 20 Juil 2005

Message le Mer Avr 12, 2006 19:11

oui j'ai vu cette fonction mais c'est pour un seul caractère
Haut
Messages: 787

Enregistré le: 19 Déc 2002

Message le Mer Avr 12, 2006 19:33

Code: Tout sélectionner
$string = "Il a un machin dans la boite dans la voiture";
$string = strrev($string);
$string = strrev(substr($string,strpos($string,"snad")+5));
echo $string;
Haut
Messages: 787

Enregistré le: 19 Déc 2002

Message le Mer Avr 12, 2006 19:45

pour le fun

Code: Tout sélectionner
$string = "Il a un machin dans la boite dans la voiture";
$tab = explode("dans",$string);
unset($tab[count($tab)-1]);
$sep = "";
foreach ($tab as $value) { echo $sep.$value; $sep = "dans"; }
Haut
Messages: 333

Enregistré le: 20 Juil 2005

Message le Mer Avr 12, 2006 19:58

j'ai essayé ta 1ere solution, ca fonctionne et j'ai réussi ce que je voulais faire

Merci beaucoups
Haut
Messages: 2899

Enregistré le: 16 Jan 2004

Message le Mer Avr 12, 2006 20:29

Et si tu as un "dans" dans ta 2nd partie ?

:-)
Haut
Messages: 333

Enregistré le: 20 Juil 2005

Message le Mer Avr 12, 2006 21:25

ca n'arrivera pas.

Et heureusement car je ne sais pas comment je ferais
Haut
Messages: 2899

Enregistré le: 16 Jan 2004

Message le Mer Avr 12, 2006 23:50

Bah facile.

- Avant d'afficher, tu mets "dns" dans la variable à la place de ton "dans" du milieu.
- Tu vires les "dans"
- Tu changes "dns" en "dans"
- Tu affiches
Haut
Messages: 4

Enregistré le: 6 Fév 2007

Message le Ven Nov 13, 2009 13:14

Strstr ne peut pas répondre à ta question ?

Code: Tout sélectionner
<?php
$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // Affiche : @example.com

$user = strstr($email, '@', true); // Depuis PHP 5.3.0
echo $user; // Affiche : name
?>
Haut

Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.