Rechercher : dans
Par :

Recherche dans une chaine de caractere en php

Dernière réponse le 13 aoû 2009 à 18:57:15 Seb, le 14 mar 2003 à 18:19:17 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Recherche dans une chaine de caractere en php » dans :
PHP - Nettoyer une chaîne de caractères Voir Voici une fonction en PHP qui peut être assez pratique, surtout quand on fait de l'URL Rewriting. Cette fonction permet de transformer les caractères de n'importe quelle chaîne de caractères en chaîne non accentuée, en enlevant les caractères...
[PHP] Les ressemblances à ne pas confondre VoirIntroduction Concaténation ou paramètres ? Guillemets/Apostrophe Structure require/include isset vs empty htmlentities ou htmlspecialchars ? Nombre de signes égal Introduction Cette astuce présente plusieurs fonction ou astuces en php...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...

1

noise, le 14 mar 2003 à 19:20:21

Solution "bricolage" : tu peux faire un explode de la chaine que tu obtiens, et prendre la première occurence dans le tableau généré...

/**\    En tout homme, un animal sommeille.
\__/     J'espère que c'est pas un truc qui rampe...

Répondre à noise

2

Bobinours, le 18 mar 2003 à 01:57:49

Salut Seb,
Fais comme ceci :
if(ereg("toto(.*?)titi", $str, $sortie))
ou bien :
if(preg_match("toto(.*?)titi", $str, $sortie))
-= Bobinours -  =-

Répondre à Bobinours

3

BIBI, le 22 fév 2008 à 16:11:25

## 'ai la meme volontée de récuperer une chaine entre 2 occurences :

## Je cherche a récuperer tous les liens d'une page distante.

## J'ai fais cette fonction :

<?php

function get_infos( $src )
{

$handle = file_get_contents( $src );
$content = preg_match('`<a href="http://www(.*?)</a>`', $handle, $matches);
$i=0;

foreach( $matches as $term )
{
//AJOUT DU RELIEN POUR OCCURENCES SUIVANTES.
$i++;if( $i>1 ){echo 'http://www';}
echo $term . '<br>' . "\n\r";
}

}
get_infos( 'http://www.commentcamarche.net/forum/affich-238500-recherche-dans-une-chaine-de-caractere-en-php' );

?>

## Le résultat :

<a href="http://www.commentcamarche.net" class="ccm_01_on">High-Tech</a><br>
<a href="http://pepsmix1.free.fr/real/.commentcamarche.net" class="ccm_01_on">High-Tech<br>

## Cela ne me sort que 2 lignes distinctes :o( je ne comprend pas pourquoi le reste ne sort pas...

Répondre à BIBI

4

 Judes-Emile Bornes IV, le 13 aoû 2009 à 18:57:15

ça date mais j'ai je pense la solution à ta question:
la commande stripos()
http://www.php.net/manual/fr/function.stripos.php
plutôt qu'une expression régulière utilise cette commande bien pratique et insensible à la casse.

le contraire (rechercher la dernière ocurrence dans une chaine), c'est strripos()


après tu peux utiliser substr() pour découper ta chaîne.

j'ai utilisé ces fonctions dans une boucle for ça marche nickel pour découper un fichier tabulé et placer chaque découpage dans un tableau.

il y a peu être plus simple, mais bon.
voilà en espérant que ça puisse aider

Répondre à Judes-Emile Bornes IV