Recherche dans une chaine de caractere

cs_lalles Messages postés 1 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 14 mars 2003 - 14 mars 2003 à 18:17
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 - 16 mars 2003 à 07:59
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

cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
16 mars 2003 à 07:59
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
0
Rejoignez-nous