Page 1 sur 1
Selection texte apres un mot défini
Posté : 03 févr. 2013, 23:21
par gdc
Bonjour,
J'ai bien essayer de toute les facons mais je nai pas trouver commen faire pour selectionner une partie de texte dans un champ TEXT SQL
voila dans ma base sql jai un champ appeller html en format TEXT, dans ce champ ce trouve un code html donc il y a un mot a selectionner exemple je veux le texte entre href="LE_URL_QUI_EST_ICI"> donc je veux que mon texte qui aparetera sur ma page sois seulement "LE_URL_QUI_EST_ICI" sans le > a la fin je veux simplement recuperer l'adresse url ...
Merci de votre aide, j'espere que je vais trouver une solution ....
Re: Selection texte apres un mot défini
Posté : 04 févr. 2013, 07:45
par niuxe
Salut,
utiliser la petite RegEx qui va bien :
<?php
$str = '
<p><a href="http://php-france.com">du texte</a> du texte <a href="http://php.net">du texte</a></p>
<p><a href="http://www.google.com">du texte</a> du texte <a href="http://www.yahoo.fr">du texte</a></p>
';
$motif = '#href="(.+)"#U';
preg_match_all($motif,$str,$match);
echo '<pre>';
print_r($match);
echo '</pre>';
Re: Selection texte apres un mot défini
Posté : 04 févr. 2013, 08:26
par schim59
Bonjour,
strstr() devrait fonctionner aussi, d'après la doc.
http://php.net/manual/fr/function.strstr.php
en 2 passages aussi pour retirer la fin.
bon codage
Re: Selection texte apres un mot défini
Posté : 04 févr. 2013, 11:13
par gdc
Salut,
utiliser la petite RegEx qui va bien :
<?php
$str = '
<p><a href="http://php-france.com">du texte</a> du texte <a href="http://php.net">du texte</a></p>
<p><a href="http://www.google.com">du texte</a> du texte <a href="http://www.yahoo.fr">du texte</a></p>
';
$motif = '#href="(.+)"#U';
preg_match_all($motif,$str,$match);
echo '<pre>';
print_r($match);
echo '</pre>';
MERCI ca fonction a trop
Le seul probleme c'est que ca me retourne trop de fois le meme texte:
resultat dans ma page:
Array ( [0] => Array ( [0] => href="http://www.LE_LIEN/?sub=test" ) [1] => Array ( [0] => http://www.LE_LIEN/?sub=test) )
il y en as une avec les " et l'autre sans les " ??
pouvez vous m'éclaircir SVP
Voila ma function :
function test(){
$query = mysql_query("SELECT html FROM MA_TABLE WHERE id_pub = '12345' ");
$res = mysql_fetch_array($query);
$str = $res['html'];
$motif = '#href="(.+)"#U';
preg_match_all($motif,$str,$match);
print_r ($match);
}
MERCI ....
Re: Selection texte apres un mot défini
Posté : 04 févr. 2013, 13:22
par gdc
VOILA jai trouver, jai ajouter [0]
print_r ($match[0]);
MERCI
Re: [RESOLU] Selection texte apres un mot défini
Posté : 04 févr. 2013, 20:06
par gdc
RE CouCou !!!!!!1
Désolé encore ... mais las mon probleme c que je ne veux pas afficher le href=" et lautre " faudrai que je recupere seulement le URL sans les "" et le href qui se trouve dans la table dans une balise html lien + image ...
merci de votre aide
Re: Selection texte apres un mot défini
Posté : 04 févr. 2013, 21:13
par schim59
Il faut modifier lexpression rationnelle mais je m y connais pas trop.
Re: Selection texte apres un mot défini
Posté : 04 févr. 2013, 21:15
par gdc
Voila avec ma Function j'ai reussi a enlever le debut href=" mais las me reste encore a enlever le dernier " dans la balise html ...
voila mon php
function clic_url(){
$query = mysql_query("SELECT html FROM clic_bonus_pub WHERE id_pub = '12345'");
$res = mysql_fetch_array($query);
$str = $res['html'];
$motif = '#href="(.+)"#U';
preg_match($motif,$str,$match);
$replace=str_replace('href="','',$match);
print_r($replace[0]);
}
merci de votre aide ....
Re: Selection texte apres un mot défini
Posté : 04 févr. 2013, 21:44
par schim59
Par curiosite. Quel est le context d utilisation de ta fonction
?
Qui cre le sql?
Re: Selection texte apres un mot défini
Posté : 04 févr. 2013, 22:04
par niuxe
Bonsoir,
Je passe en coup de vent. Tu n'as pas lu mon code complet. Execute et vois ce qu'il fait -> le str_replace ne sert à rien.
A noter que tu peux utiliser mon pattern dans la fonction REGEXP avec MySql
http://dev.mysql.com/doc/refman/5.0/fr/ ... eight=100%. Il faudra que tu adaptes un petit peu le pattern.
Re: Selection texte apres un mot défini
Posté : 04 févr. 2013, 22:08
par gdc
Par curiosite. Quel est le context d utilisation de ta fonction
?
Qui cre le sql?
Ma fonction marche bien sauf qui a encore le " a la fin du lien http: ... l'utilisation de la function est pour recuper l'es URL de site inclus dans des code html stocker en sql, allors les annonceurs peuvent sois ajouter leur baniere en 2 champ texte ou sinon il peuvent inclure directement un code html allors si dans la table sql le champ html est renseigner allors je fais un select dessus et je recupere le lien du site pour ensuite le metre dans une iframe src= allors quand je fais ma requet cela me donne http://LE_LIEN_SITE" je ne veux pas avoir le " a la fin ( le " vien de la balise html qui a ete mis dans la table .... )