Récuperer des chaines entre deux balises PHP

Résolu/Fermé
lezao Messages postés 469 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 14 août 2016 - Modifié par lezao le 19/07/2010 à 17:53
le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 - 19 juil. 2010 à 20:37
Salut j'utilse cette commande pour recuperer les url :

$marqueurDebutLien = "[début lien]";  
$debutLien = strpos( $text, $marqueurDebutLien ) + strlen( $marqueurDebutLien );  
$marqueurFinLien = "[fin lien]";  
$finLien = strpos( $text, $marqueurFinLien );  
$leLien = substr( $text, $debutLien, $finLien - $debutLien ); 


ça marche bien pour une seule URL.


Mais j'ai un peu de mal pour la transformer, de façon a ce qu'elle le fasse pour plusieur lien dans le texte, pas seulement un.



J'ai bien tenté de faire un boucle for() afin de repeter cette commande mais le resultat est catastrophique :



for($z=0;$z < $nombrimage;$z++)  
     { 
    
$marqueurDebutLien = '[url]';  
${'debutLien'.$z} = strpos( $commentaire, $marqueurDebutLien , $fin );  
$marqueurFinLien = '[/url]';  
${'finLien'.$z}= strpos( $commentaire, $marqueurFinLien ,$fin ); 
${'finLien'.$z} = ${'finLien'.$z}   ; 
${'leLien'.$z} = substr( $commentaire, ${'debutLien'.$z}, ${'finLien'.$z} - ${'debutLien'.$z} );  

$fin = ${'finLien'.$z} ; 
$tableau2[$z] = ${'leLien'.$z} ;  
$tableau2[$z] =  "<a href='$tableau2[$z]'>$tableau2[$z]</a>" ; 

$lesliens = $lesliens.$tableau2[$z]; 
     } 



Il s'avere que cela recupere mes url, mais decale le debut et fin des urls
Auriez vous une idée d'ou est mon probleme ?

merci pour votre aide....

7 réponses

le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 239
19 juil. 2010 à 18:23
Salut,

sous quelle forme est ton URL? (www.monsite.com.index.php[debut]www.google.fr[fin][debut]www.msn.fr[fin])
0
lezao Messages postés 469 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 14 août 2016 36
Modifié par lezao le 19/07/2010 à 18:54
sous cette forme :

[url]https://www.google.fr/?gws_rd=ssl[/url] du texte [url] https://www.google.com/?gws_rd=ssl[/url]


j'ai mis [url] pour marquer le début et [/url] pour marquer la fin....

encore une fois il y a des crochet sur mon /url, mais ça ce ne se voit dans c e forum.


donc crochet /url crochet pour marquer la fin.

je signale car je ne l'ai pas dit que je veux recuperer des urls dans un texte.

la perssonne ecrit ça:

j'aime ce site : (ma balise url) http://www.lesite.fr (ma fermeture balise url)

et j'aime bien celui la : (ma balise url) http://www.lesite2.com (ma fermeture balise url)


et je recupere biensur juste les deux URL entre les balises..


as tu une idée ?
0
le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 239
Modifié par le_joker_fou le 19/07/2010 à 19:32
Donc si je comprend bien ton problème.

Ton visiteur va saisir du texte et dire qu'il aime un lien. Prenons le texte suivant :
$text = "moi j'aime bien ce lien [url]www.google.fr[/url] mais aussi ce lien [url]www.commentcamarche.net[/url]";

Dans ce texte tu veux récupérer les liens pour les mettre sous balise <a href="www.google.fr">www.google.fr</a>.

alors voila un bout de code :

$content = preg_replace(''& lt;url& gt;(.+)& lt;/url& gt;'isU','& lt;a href="$1"& gt;$1& lt;/a& gt;', $text);

(supprime les espaces entre le & lt; et & gt;)

Et tu aura ta chaines $content qui sera de la forme :
moi j'aime bien ce lien <a href="www.google.fr">www.google.fr</a> mais aussi ce lien <a href="www.commentcamarche.net">www.commentcamarche.net</a>

Ai-je bon?
0
lezao Messages postés 469 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 14 août 2016 36
Modifié par lezao le 19/07/2010 à 20:21
Oui c'est exactement ça, vraiment super ça fait pret de 4 heures que je me fait mal a la tete, j'avais fini par trouver une solution equivalente a la tienne : sur ce lien :

http://www.expreg.com/lire-URL-source


Je vais tout de meme essayer ton code, trop fort, merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 239
19 juil. 2010 à 20:24
aller c'est mon jour de bonté.

Voilà un petit tuto qui peut te permettre d'aller plus loin dans ton script (texte en gras, italique, image, etc...)

http://www.siteduzero.com/tutoriel-3-34703-insertion-de-balises-dans-une-zone-de-texte.html

Bonne continuation.
0
lezao Messages postés 469 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 14 août 2016 36
19 juil. 2010 à 20:29
Super, ça va m'etre tres utile... ... je cherchais justement un truc dans le genre, tu es un envoyé des cieux, lol...merci beaucoup en tout cas

tres bonne soirée a toi...
0
le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 239
19 juil. 2010 à 20:37
Pas de prob. Si tu as besoin par la suite n'hésite pas.
0