[php] enlever une partie de chaine d'une chaine complete

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

silverbeach
WRInaute impliqué
WRInaute impliqué
 
Messages: 322
Inscription: Mer Juil 20, 2005 15:50

[php] enlever une partie de chaine d'une chaine complete

Message le Mer Avr 12, 2006 18: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?

rikew
WRInaute passionné
WRInaute passionné
 
Messages: 548
Inscription: Jeu Déc 19, 2002 19:53

Message le Mer Avr 12, 2006 18:10


silverbeach
WRInaute impliqué
WRInaute impliqué
 
Messages: 322
Inscription: Mer Juil 20, 2005 15:50

Message le Mer Avr 12, 2006 18:11

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

rikew
WRInaute passionné
WRInaute passionné
 
Messages: 548
Inscription: Jeu Déc 19, 2002 19:53

Message le Mer Avr 12, 2006 18: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;

rikew
WRInaute passionné
WRInaute passionné
 
Messages: 548
Inscription: Jeu Déc 19, 2002 19:53

Message le Mer Avr 12, 2006 18: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"; }

silverbeach
WRInaute impliqué
WRInaute impliqué
 
Messages: 322
Inscription: Mer Juil 20, 2005 15:50

Message le Mer Avr 12, 2006 18:58

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

Merci beaucoups

Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: Ven Jan 16, 2004 19:47

Message le Mer Avr 12, 2006 19:29

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

:-)

silverbeach
WRInaute impliqué
WRInaute impliqué
 
Messages: 322
Inscription: Mer Juil 20, 2005 15:50

Message le Mer Avr 12, 2006 20:25

ca n'arrivera pas.

Et heureusement car je ne sais pas comment je ferais

Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: Ven Jan 16, 2004 19:47

Message le Mer Avr 12, 2006 22: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

nighma
Nouveau WRInaute
 
Messages: 4
Inscription: Mar Fév 06, 2007 9:34

Re: [php] enlever une partie de chaine d'une chaine complete

Message le Ven Nov 13, 2009 12: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
?>


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

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

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités