isoler terme d'une chaine

tomcat
Invité n'ayant pas de compte PHPfrance

02 août 2007, 10:03

Bonjour à tous
J'ai un souci avec la chaine en dessous: je souhaiterais isoler ce qui se trouve entre "bgcolor='#cccccc'>" et "
"</td></tr></table>"
pourriez vous m'indiquer une solution qui puiss être réutilisée meme si la partie à extraire change (donc il faut l'identifier par les terme que je viens de donner). J'ai essayé avec pas mal de fonctions mais je galère...
Merci


Ligne No 153 : <center>Mot recherché: dormir<br><table border=1 width='500' class='style1'><tr><td>Français French </td></tr><tr><td bgcolor='#eeeeee'>dormir </td><td bgcolor='#eeeeee'> pârgulçt </td></tr><tr><td bgcolor='#cccccc'>dormir : je dors </td><td bgcolor='#cccccc'> gulçt : guïu, guli, guï, guïam, guïat, guï </td></tr></table>

d0m
Mammouth du PHP | 1141 Messages

02 août 2007, 10:06

que veux tu dire par isoler?

tomcat
Invité n'ayant pas de compte PHPfrance

02 août 2007, 10:08

je voulais dire envoyer cette partie dans une variable....merci

d0m
Mammouth du PHP | 1141 Messages

02 août 2007, 10:40

d'après ce que j'ai compris ton code est dans un variable.

Déjà tu as plusieurs <td bgcolor='#cccccc'>, je présume que tu parle du dernier. Il faudrait donc commencer par donner un identifiant à la balise <td> histoire de la reconnaitre.
$chaine = '<center>Mot recherché: dormir<br><table border=1 width="500" class="style1"><tr><td>Français French </td></tr><tr><td bgcolor="#eeeeee">dormir </td><td bgcolor="#eeeeee"> pârgulçt </td></tr><tr><td bgcolor="#cccccc">dormir : je dors </td><td id="bizarre" bgcolor="#cccccc"> gulçt : guïu, guli, guï, guïam, guïat, guï </td></tr></table>';
Ensuite tu peux travailler sur la chaine avec les fonctions de chaines de caractères en prenant par exemple la sous chaine de $chaine commencant après '<td id="bizarre" bgcolor="#cccccc">', ensuite prendre la partie de cette sous chaine jusqu'à la position de la balise </td>.