Recherche dans une chaine de caractere

Signaler
Messages postés
1
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
14 mars 2003
-
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
-
Salut

dans une chaîne de caractère, j'essai d'extraire un morceau de chaîne de caractère comprise entre deux chaînes de caractères de référence.

ex:
la chaîne: ebjsfb toto ce que je cherche titi ksjnknf titi dfg
mot de référence de début : toto
mot de référence de fin : titi
résultat: ce que je cherche
NB: je ne veux pas des mots de référence

ce que j'ai fait:
if(ereg("toto(.*)titi",$str,$sortie))
echo $sortie[1];

Le problème, il va chercher la dernière occurrence de ma chaîne de référence de fin, alors que je veux la première

Merci

1 réponse

Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
13
Bonjour,

Essaies avec ça :

<?php
function cherche($string, $ref, $start)
{
return strpos($string, $ref, $start);
}

function coupe($chaine, $debut, $fin)
{
return substr($chaine, $debut, $fin);
}

$chaine = "ebjsfb toto ce que je cherche titi ksjnknf titi dfg";
$refDebut = "toto";
$refFin = "titi";

echo " Avant : " . $chaine . "
";
$debut = cherche($chaine, $refDebut, 0) + strlen($refDebut);
$fin = cherche($chaine, $refFin, $debut);
$chaine = coupe($chaine, $debut, $fin - $debut);
echo "Après : " . $chaine;
?>

Cordialement

jc