Récuperer des chaines entre deux balises PHP

[Résolu/Fermé]
Signaler
Messages postés
469
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 août 2016
-
Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
-
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

Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
234
Salut,

sous quelle forme est ton URL? (www.monsite.com.index.php[debut]www.google.fr[fin][debut]www.msn.fr[fin])
Messages postés
469
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 août 2016
31
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 ?
Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
234
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?
Messages postés
469
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 août 2016
31
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.
Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
234
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.
Messages postés
469
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 août 2016
31
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...
Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
234
Pas de prob. Si tu as besoin par la suite n'hésite pas.