rechercher et extraitre une chaine dans un texte

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : rechercher et extraitre une chaine dans un texte

par sadeq » 30 avr. 2007, 19:56

regarde les expressions réguliaires et notamment preg_match()

Exemple:
si je veux récupérer une simple adresse d'un href :
<?php 
//soit le texte de recherche suivant:
$texte = "<a href='adresse'>ceci est un lien</a>";

//si je veux récupérer l'adresse dans href j'écrirai l'expression suivante: href='(.*)'
//où (.*) veut dire: 0~N caractères 
//et les prenthèses désignent un élément à retourner dans la réponse de preg_match
preg_match("#href='(.*)'#", $texte, $reponse);

//pour voir la réponse de l'expression, consulter le tableau $reponse retourné par preg_match:
print_r($reponse);
//en fait, la valeur recherchée doit se trouver à partir de la 2° case du tableau $reponse
?>
Et si je veux préciser dans qu'il s'agit bien d'un href d'un lien hypertexte :
<?php 
...
preg_match("#<a.*href='(.*)'.*>.*</a>#", $texte, $reponse);
...
?>
Et si je souhaite récupérer le texte du lien, en même temps que l'adresse:
<?php 
...
//2 parenthèses = 2 réponses
preg_match("#<a.*href='(.*)'.*>(.*)</a>#", $texte, $reponse);
...
?>

par dogmongo » 30 avr. 2007, 19:26

salut

essai explode

$chaine="Volet:rouge";
$tab= explode(":",$chaine);

$volet=$tab['0'];
$coul=$tab['1'];

si c'est en sortie de requete tu devrais pouvoir y arriver comme ca

à savoir ton tableau commence toujours à 0 ,mais il existe une manipe pour le mettre à 1

++

par thehawk » 30 avr. 2007, 12:35

regarde la fonction preg_replace()

rechercher et extraitre une chaine dans un texte

par jeanmed » 30 avr. 2007, 12:07

Bonjour,

Je voudrais extraire d'une chaine une partie exemple :

<div class="volet">Volet : rouge</div>

je voudrais avoir : $volet="volet";
et $coul="rouge";

Si vous avez une idée merci de votre aide