IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

ajout/insertion d'une image lorsque un lien est détecté dans un texte


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut ajout/insertion d'une image lorsque un lien est détecté dans un texte
    Bonjour,

    quelqu'un pourrait-il m'expliquer la façon de procéder pour ajouter une image lorsque dans un texte (textearea) se trouve un lien (a href)?

    Si c'est bien possible, mon problème actuel est de détecter le lien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php  
      SI (un/plusieurs lien(s) est(sont) contenu(s) dans le texte){
        ajouter une image avant le lien
    }
    ?>
    Je vous remercie par avance pour vos conseils et réponses

  2. #2
    Développeuse forum
    Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Points : 1 420
    Points
    1 420
    Par défaut
    Quels sont les styles de tes liens ? http:// ou balise html ?

    Au pire, il te faut utiliser preg_replace() pour remplacer un motif par une chaine de remplacer (ici, l'image)

    Si un message vous a aidé, pensez à voter positivement pour lui ! Merci
    Pas de question technique en privé
    - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol)
    - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    Merci pour ta réponse atomya rise,

    mais ma question n'est pas de remplacer, mais de rajouter une image

    voici plus d'explication:
    je créé une interface d'administration personnalisée, dans les "textearea" j'y ajoute mes textes et parfois des liens externe ou interne (avec un chemin complet : http://)

    afin d'éviter d'aller chercher l'image dans le dossier image à partir de l'editeur de texte du textearea, je veux créer un script qui permet de détecter un lien et d'ajouter l'image automatiquement avant le lien (texte).

    Je souhaite faire comme cela, car parfois l'éditeur de texte n'aligne pas toujours l'image et le lien. (l'image utilisée est une petite flèche pointant vers le lien).

    merci encore à ceux qui pourront m'aider à résoudre mon problème.

  4. #4
    Développeuse forum
    Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Points : 1 420
    Points
    1 420
    Par défaut
    Et ben si, j'ai bien compris ta demande ^^

    La méthode est la même, il te suffit de repérer les liens et d'y ajouter avant ton image...

    Donc, utilisation d'un pre_replace()

    exemple:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $chaine = 'coucou http://monLien tata toto titi';
    $chaine = preg_replace('#((http|https)://[^ ]*)#', '<img src="monimage"> $1', $chaine);	
    echo $chaine;

    ce qui te retournera dans le code source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coucou <img src="monimage"> http://monLien tata toto titi

    Si un message vous a aidé, pensez à voter positivement pour lui ! Merci
    Pas de question technique en privé
    - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol)
    - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup pour ta réponse Atomya rise,

    tu m'as ouvert les yeux sur une nouvelle fonction

    cependant, j'aimerais avoir une dernière certitude:

    à la ligne 1, tu crées une variable qui contient une chaîne de caractère, seulement peut-on faire la même chose pour un ensemble de textes stylisés en css .

    en gros: appliquer ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     preg_replace('#((http|https)://[^ ]*)#', '<img src="monimage"> $1', $chaine);
    à une dizaine de textes et ne sachant pas où se trouve à l'avance les liens dans les textes

    encore merci

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    j'ai essayé ceci en suivant les regles du regex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
    $html = $recup_actualite['texte_actu1'];
    $fleche = preg_replace('#^<a href#', '<img src="http://www.site.com/images/fleche-lien.png"><a href ', $html);	
    echo (html_entity_decode($fleche)); 
    ?>
    mais je ne récupère pas l'image

    un peu d'aide s'il vous plait ?

    edit:
    probleme resolu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    12345
    <?php 
    $html = $recup_actualite['texte_actu1'];
    $fleche = preg_replace('#&lt;a href#', '<img src="http://www.site.com/images/fleche-lien.png"><a href ', $html);	
    echo (html_entity_decode($fleche)); 
    ?>

  7. #7
    Développeuse forum
    Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Points : 1 420
    Points
    1 420
    Par défaut
    Citation Envoyé par artenis Voir le message
    à la ligne 1, tu crées une variable qui contient une chaîne de caractère, seulement peut-on faire la même chose pour un ensemble de textes stylisés en css .

    en gros: appliquer ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     preg_replace('#((http|https)://[^ ]*)#', '<img src="monimage"> $1', $chaine);
    à une dizaine de textes et ne sachant pas où se trouve à l'avance les liens dans les textes

    encore merci
    Oui bien sur, puisque tu ne récupère que les liens, donc, aucun soucis pour le reste.

    Citation Envoyé par artenis Voir le message
    j'ai essayé ceci en suivant les regles du regex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
    $html = $recup_actualite['texte_actu1'];
    $fleche = preg_replace('#^<a href#', '<img src="http://www.site.com/images/fleche-lien.png"><a href ', $html);	
    echo (html_entity_decode($fleche)); 
    ?>
    mais je ne récupère pas l'image

    un peu d'aide s'il vous plait ?
    il faut que tu précise le $1 dans le deuxième paramètre du preg_replace et non, utiliser <a href.

    Si un message vous a aidé, pensez à voter positivement pour lui ! Merci
    Pas de question technique en privé
    - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol)
    - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    citation: il faut que tu précise le $1 dans le deuxième paramètre du preg_replace et non, utiliser <a href.
    J'ai fait comme tu dis :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php 
    $html = $recup_actualite['texte_actu1'];
    $fleche = preg_replace('#&lt;a href#', '<img src="http://www.site.com/images/fleche-lien.png">$1', $html);	echo (html_entity_decode($fleche)); 
    ?>
    mais ça ne marche pas:
    voici ce qui s'affiche: (en clair)
    image + ="http://www.site.com/" target="_blank">Lien texte du site

    une idée du problème ? manque t-il un caractère spécial?
    sans le $1, pas de probleme.
    c'est à dire : image + Lien texte du site
    merci pour ton aide

  9. #9
    Développeuse forum
    Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Points : 1 420
    Points
    1 420
    Par défaut
    Citation Envoyé par Atomya Rise Voir le message
    Quels sont les styles de tes liens ? http:// ou balise html ?
    D'où ma première question de la discussion ! Je te demandais si c'était des liens brut ou des balises que tu utilisais.

    Là, d'après ce que je vois, tu utilises des balises, donc, le preg_replace devra s'écrire comme suit:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $chaine = 'coucou <a href="http://monLien">LE LIEN</a> tata toto titi';
    $chaine = preg_replace('#<a href="([^"]*)">#', '<img src="http://www.site.com/images/fleche-lien.png"> <a href="$1" target="_blank">', $chaine);
    echo $chaine;

    Si un message vous a aidé, pensez à voter positivement pour lui ! Merci
    Pas de question technique en privé
    - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol)
    - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche)

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    Merci pour cette mise a jour, seulement le script ne marche pas.

    Rien n'est ajouté , comme si le script n'était pas pris en compte.

    j'ai remarqué que sans " &lt; " pour le caractère "<" le script n'était pas pris en compte lorsque l'on est situé entre les "guillemets" du preg_replace
    est-ce normal ?


    puis-je te demander, Atomya Rise, d'éditer ta dernière réponse et de remplacer le nom du site par "site" afin que ce post ne soit pas référencer pour le site en question ? je te remercie. (j'ai été un peu trop rapide dans le copier/coller)

    j'aimerais également avoir ton avis quant à l'utilisation du $1 (est-ce vraiment indispensable), et comprendre ta dernière proposition de script, pourrais tu me l'expliquer.

    merci

  11. #11
    Développeuse forum
    Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Points : 1 420
    Points
    1 420
    Par défaut
    Citation Envoyé par artenis Voir le message
    Merci pour cette mise a jour, seulement le script ne marche pas.

    Rien n'est ajouté , comme si le script n'était pas pris en compte.
    Hummm... c'est bizarre... Pourrais-tu nous donner un extrait de ta chaine qui est enregistré dans ta base de donnée, car il y a peut être eu un remplacement pour l'enregistrement, et du coup... cela pourrait effectivement faire planter le code. Car moi, à la base, je pensais que tu allais traité ceci avant l'enregistrement, donc, juste après ton insertion dans le textarea mais juste avant l'enregistrement.

    Citation Envoyé par artenis Voir le message
    j'ai remarqué que sans " &lt; " pour le caractère "<" le script n'était pas pris en compte lorsque l'on est situé entre les "guillemets" du preg_replace
    est-ce normal ?
    J'ai pas réellement compris ce que tu voulais dire par là :/

    Citation Envoyé par artenis Voir le message
    puis-je te demander, Atomya Rise, d'éditer ta dernière réponse et de remplacer le nom du site par "site" afin que ce post ne soit pas référencer pour le site en question ? je te remercie. (j'ai été un peu trop rapide dans le copier/coller)
    Pas de soucis, c'est fait

    Citation Envoyé par artenis Voir le message
    j'aimerais également avoir ton avis quant à l'utilisation du $1 (est-ce vraiment indispensable)
    Dans un regex, oui, le $1 permet de récupérer la valeur entre parenthèse que l'on extrait de la regex, d'où l'importance d'utiliser des guillemets simple.


    Citation Envoyé par artenis Voir le message
    et comprendre ta dernière proposition de script, pourrais tu me l'expliquer.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = preg_replace('#<a href="([^"]*)">#', '<img src="http://www.site.com/images/fleche-lien.png"> <a href="$1" target="_blank">', $chaine);

    Pour plus de simplicité : Il faut lire à l'envers. Donc, dans le preg_replace, tu as 3 paramètres.
    - Le troisième est ta chaine brut.
    - Le deuxième paramètre est le motif de remplacement. Cela signifie que chaque fois que le motif est trouvé dans la chaine, celui-ci sera remplacé par ce paramètre.
    - Le premier paramètre est une regex. Celle-ci nous permet de cibler et de récupérer ce que l'on recherche. Paramètre qui sera donc remplacé par le deuxième paramètre.

    Si un message vous a aidé, pensez à voter positivement pour lui ! Merci
    Pas de question technique en privé
    - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol)
    - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche)

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    C'est super, merci pour tes explications ,
    j'urais dû être plus précis : je voudrais comprendre cela :alors effectivement, j'y avais pensé de mettre le script avant l'ajout dans la base de données, mais dans ce cas là pourquoi le script marche avec cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $fleche = preg_replace('#&lt;a href#', '<img src="http://www.site.com/images/fleche-lien.png"> <a href ', $html);
    et pas avec la méthode regex ?après recuperation des champs des tables

    je vais cependant essayer de le faire avant l'insertion dans la BDD.

    y aurait-il une technique pour faire comme cela ? (actuellement ça ne marche pas):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php 
    	mysql_connect('localhost','root', '');
    	mysql_select_db('database');
    	mysql_set_charset('utf8');
    	$query_actualite  = "SELECT * FROM admin_actualite";
    	$result_actualite =  mysql_query ($query_actualite ) or die("erreur de connexion a la base de donnees");
    	$fleche = preg_replace('#&lt;a href#', '<img src="http://www.site.com/images/fleche-lien.png"> <a href ', $result_actualite);
    	?>
     
    <?php  while( $recup_actualite  = mysql_fetch_array($result_actualite) ){ ?>
    et comment integrer le script avant insertion dans la BDD , simplement ? (lorsqu'on a une trentaine de variable à récupérer)

    Pour l'histoire du &lt; : si je ne mets pas ces caractères à la place de "<" avec mon script à moi ,celui-ci ne marche pas
    edit: j'ai compris: c'est le html_entity_decode qui me converti "<" et donc il ne comprend que cela : &lt;

    voici un champ en question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    &lt;p&gt;Des rendez-vous privil&amp;eacute;gi&amp;eacute;s pour traiter les th&amp;egrave;mes op&amp;eacute;rationnels que vous avez choisis. &lt;br /&gt;L'objectif est de r&amp;eacute;pondre &amp;agrave; vos questions efficacement avec des solutions pratiques. &lt;br /&gt;Un nombre limit&amp;eacute; de places &amp;agrave; 15 personnes maximum afin de faciliter les &amp;eacute;changes. &lt;br /&gt;Des rendez-vous &amp;agrave; vocation r&amp;eacute;guli&amp;egrave;re, au rythme de vos attentes.&amp;nbsp;&lt;/p&gt;
    &lt;a href=&quot;http://www.site.com/&quot; target=&quot;_blank&quot;&gt;Lien&lt;/a&gt;
    merci

  13. #13
    Développeuse forum
    Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Points : 1 420
    Points
    1 420
    Par défaut
    Citation Envoyé par artenis Voir le message
    C'est super, merci pour tes explications ,
    j'urais dû être plus précis : je voudrais comprendre cela :
    -les parenthèses ca sert à pouvoir ré-utiliser cette partie là dans la chaine de remplacement.
    - Le crochet chapeau guillemet ca sert à indiquer n'importe qu'elle caractère sauf le guillemet
    - l'étoile sert à indiquer que ce qui précède peux être présent 0, 1 ou plusieurs fois.

    Citation Envoyé par artenis Voir le message
    alors effectivement, j'y avais pensé de mettre le script avant l'ajout dans la base de données, mais dans ce cas là pourquoi le script marche avec cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $fleche = preg_replace('#&lt;a href#', '<img src="http://www.site.com/images/fleche-lien.png"> <a href ', $html);
    et pas avec la méthode regex ?après recuperation des champs des tables
    En faite, comme ton code est modifié à l'affichage, il faut changer les chevrons ouvrant et fermant dans la regex par le code html de celui-ci, donc, il faut écrire comme ceci :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = preg_replace('#&lt;a href=([^"]*)"&gt;#', '<img src="http://www.site.com/images/fleche-lien.png"> <a href="$1" target="_blank">', $chaine);

    Citation Envoyé par artenis Voir le message
    y aurait-il une technique pour faire comme cela ? (actuellement ça ne marche pas):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php 
    	mysql_connect('localhost','root', '');
    	mysql_select_db('database');
    	mysql_set_charset('utf8');
    	$query_actualite  = "SELECT * FROM admin_actualite";
    	$result_actualite =  mysql_query ($query_actualite ) or die("erreur de connexion a la base de donnees");
    	$fleche = preg_replace('#&lt;a href#', '<img src="http://www.site.com/images/fleche-lien.png"> <a href ', $result_actualite);
    	?>
     
    <?php  while( $recup_actualite  = mysql_fetch_array($result_actualite) ){ ?>
    Là, tu utilise la variable $result_actualite issue d'une requête mais tu ne récupère pas le résultat.
    Il faut toujours récupérer le résultat d'un mysql_query avec mysql_fetch_assoc, ou mysql_fetch_row etc....
    Donc, normal que cela ne fonctionne pas.
    Après, si tu récupère le résultat avant le while, il faudra que tu remette à zéro ton résultat à l'aide de mysql_data_seek(leQuery, 0);
    Comme ceci :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php 
    	mysql_connect('localhost','root', '');
    	mysql_select_db('database');
    	mysql_set_charset('utf8');
     
    	$query_actualite  = mysql_query("SELECT * FROM admin_actualite") or die (mysql_error());
    	$result_actualite =  mysql_fetch_assoc ($query_actualite );
     
    	$fleche = preg_replace('#&lt;a href#', '<img src="http://www.site.com/images/fleche-lien.png"> <a href ', $result_actualite["LeChampConcerné"]);
     
    mysql_data_seek($query_actualite, 0);
     
      while( $recup_actualite  = mysql_fetch_array($query_actualite) ){ 
     
    ?>

    Citation Envoyé par artenis Voir le message
    et comment integrer le script avant insertion dans la BDD , simplement ? (lorsqu'on a une trentaine de variable à récupérer)
    Tout dépend de ton code, il faudrait que tu le montre, car à l'aveuglette, je ne peux rien dire...

    Citation Envoyé par artenis Voir le message
    Pour l'histoire du &lt; : si je ne mets pas ces caractères à la place de "<" avec mon script à moi ,celui-ci ne marche pas
    edit: j'ai compris: c'est le html_entity_decode qui me converti "<" et donc il ne comprend que cela : &lt;

    voici un champ en question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    &lt;p&gt;Des rendez-vous privil&amp;eacute;gi&amp;eacute;s pour traiter les th&amp;egrave;mes op&amp;eacute;rationnels que vous avez choisis. &lt;br /&gt;L'objectif est de r&amp;eacute;pondre &amp;agrave; vos questions efficacement avec des solutions pratiques. &lt;br /&gt;Un nombre limit&amp;eacute; de places &amp;agrave; 15 personnes maximum afin de faciliter les &amp;eacute;changes. &lt;br /&gt;Des rendez-vous &amp;agrave; vocation r&amp;eacute;guli&amp;egrave;re, au rythme de vos attentes.&amp;nbsp;&lt;/p&gt;
    &lt;a href=&quot;http://www.site.com/&quot; target=&quot;_blank&quot;&gt;Lien&lt;/a&gt;
    merci
    Là, tu va avoir un soucis, car si tu remplace aussi les guillemets...
    Il va falloir que tu fasses un htmlspecialchars_decode avant de faire le traitement, et ensuite, refaire un htmlspecialchars pour ré-encoder... Sinon, il faut vraiment que tu le fasse avant l'enregistrement, sinon, tu n'y arrivera jamais.
    Au pire, voilà le code pour le traitement après l'enregistrement :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $chaine = "&lt;p&gt;Des rendez-vous privil&amp;eacute;gi&amp;eacute;s pour traiter les th&amp;egrave;mes op&amp;eacute;rationnels que vous avez choisis. &lt;br /&gt;L'objectif est de r&amp;eacute;pondre &amp;agrave; vos questions efficacement avec des solutions pratiques. &lt;br /&gt;Un nombre limit&amp;eacute; de places &amp;agrave; 15 personnes maximum afin de faciliter les &amp;eacute;changes. &lt;br /&gt;Des rendez-vous &amp;agrave; vocation r&amp;eacute;guli&amp;egrave;re, au rythme de vos attentes.&amp;nbsp;&lt;/p&gt;
    &lt;a href=&quot;http://www.site.com/&quot; target=&quot;_blank&quot;&gt;Lien&lt;/a&gt;";
    $chaine = htmlspecialchars_decode($chaine);
    $chaine = preg_replace('#<a href=([^"]*)">#', '<img src="http://www.site.com/images/fleche-lien.png"> <a href="$1" target="_blank">', $chaine);
    $chaine = htmlspecialchars($chaine);
    echo $chaine;

    Si un message vous a aidé, pensez à voter positivement pour lui ! Merci
    Pas de question technique en privé
    - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol)
    - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche)

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    merci c/t genial.

    toutes ces informations mon beaucoup servies.

    bonne continuation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rafraichir une image lorsque celle-ci est survolée
    Par prgasp77 dans le forum jQuery
    Réponses: 3
    Dernier message: 22/09/2010, 01h13
  2. ouvrir une image .JPG qui n'est pas dans la base
    Par merocean dans le forum Requêtes et SQL.
    Réponses: 19
    Dernier message: 12/02/2009, 21h22
  3. [MySQL] Problème pour afficher une image dont le chemin est stocké dans la bdd
    Par cel.Saint-Louis dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/11/2007, 08h49
  4. Pb pour afficher une image dont le lien est un champ d'une table
    Par h4milton dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 25/05/2007, 13h23
  5. Réponses: 4
    Dernier message: 22/02/2007, 10h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo