Affichage des liens en double php
asus02
Messages postés
215
Statut
Membre
-
xamurai Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
xamurai Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
bonjour,
voila j'ai un resultat qui s'affiche du genre si je tape https://www.google.fr/?gws_rd=ssl il s'affiche en double.
j'ai donc tester comme suit :
le resultat a l'affichage me donne :
il m'affiche 2 liens cliquables mais seul le premier fonctionne bien le deuxieme se fini par </a>.
voila j'ai un resultat qui s'affiche du genre si je tape https://www.google.fr/?gws_rd=ssl il s'affiche en double.
j'ai donc tester comme suit :
$statut_resize = $this->correct_news(utf8_encode(stripslashes($this->content)),65,$size_pseudo);
$statut_resize = preg_replace('#http://[a-z0-9._/-?]+#i', '<a href="$0">$0</a>',$statut_resize);
$html .= "<span class='piece_news_content'>".$statut_resize."</span>";
le resultat a l'affichage me donne :
https://www.google.fr/?gws_rd=ssl">https://www.google.fr/?gws_rd=ssl
il m'affiche 2 liens cliquables mais seul le premier fonctionne bien le deuxieme se fini par </a>.
10 réponses
-
essaye ceci voir
$statut_resize = $this->correct_news(utf8_encode(stripslashes($this->content)),65,$size_pseudo); $statut_resize = preg_replace(".*(/http://[^\s]+).*/i", "<a href=\"$1\">$1</a>",$statut_resize); $html .= "<span class='piece_news_content'>".$statut_resize."</span>"; -
alors j'ai testé ton code mais je n'est plus du tout d'affichage des news ce coup ci ...
-
sorry c:
$statut_resize = preg_replace("(/http://[^\s]+)/i", "<a href=\"$1\">$1</a>",$statut_resize);
-
-
pareil des que je place le code ca ne m'affiche plus de news.
j'ai recodé comme ceci
$statut_resize = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\" target=\"_blank\">\\0</a>",$statut_resize);
mais j'ai toujours deux liens qui s'affiche avec "> entre les deux.
https://www.google.fr/?gws_rd=ssl">https://www.google.fr/?gws_rd=ssl
-
j'ai tester ce code: e ca marche
$statut_resize = "blablabla https://www.google.de/?gws_rd=ssl est blabla"; $statut_resize = preg_replace("/(http:[^\s]+)/i", "<a href=\"$1\">$1</a>",$statut_resize); echo $statut_resize;
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
alors j'ai rajouté un target'_blank' pour ouvrir dans une autre page,
j'ai bien qu'un seul lien cliquable mais avec des bout de codes...
https://www.google.fr/?gws_rd=ssl " target='_blank'>https://www.google.fr/?gws_rd=ssl">https://www.google.fr/?gws_rd=ssl
-
en faite le code initial est :
case 'STATUTE' : { if ($user_ID == $this->concerned_id) { $html .= "<div class='news' id='news_".$this->id."' onmouseover=\"document.getElementById('suppr_news_".$this->id ."').style.display='inline';\" onmouseout=\"document.getElementById('suppr_news_".$this->id ."').style.display='none';\">"; } else { $html .= "<div class='news' id='news_".$this->id."'>"; } $html .= ' <img alt="photo_user" class="news_photo" src="'.$config['site_url'].'devoliarsed-img.php?img='.$owner->get_photo_profil() .'&width=60&height=60&mode=crop"/>'; $html .= "<div class='piece_news'>"; $html .= "<strong><a href=\"profil-".$owner->get_id().".html\">".$owner->get_firstname()." " .$owner->get_name()."</a></strong> : "; $size_pseudo = strlen($owner->get_firstname()." ".$owner->get_name()." : "); $statut_resize = $this->correct_news(utf8_encode(stripslashes($this->content)),65,$size_pseudo); $html .= "<span class='piece_news_content'>".$statut_resize."</span>"; $html .= '<br/><br/><span class="piece_news_date">'.$this->get_delay($this->date).'</span>'; $html .= ' . <a onclick="if (document.getElementById(\'comForm_'.$this->get_id().'\').style .display == \'block\') { document.getElementById(\'comForm_'.$this->get_id().'\').style.display = \'none\'; } else {document.getElementById(\'comForm_'.$this->get_id().'\').style .display = \'block\'; document.getElementById(\'idCom_'.$this->get_id().'\').focus()}"> Comment</a><br/>'; $html .= '<div id=com_'.$this->id.' style="display:inline-block;">' .$this->get_comments_html().'</div>'; $html .= '<form id="comForm_'.$this->id.'" class="com_form"> <textarea id="idCom_'.$this->id.'" cols="68" rows="1"></textarea><br/>'; $html .= '<input type="button" value="'.$xml->comment_text.'" onclick="send_com('.$this->id.',\''.$this->wall_type.'\')"/> </form></div>'; $html .= '<div id="suppr_news_'.$this->id.'" class="supp_news"> <strong><a onclick="suppr_news('.$this->id.',\''.$this->wall_type.'\', \''.$this->wall_owner.'\')"> <img src="'.$this->config['site_url']. 'devoliarsed-custom/themes/'.$this->config['theme'].'/images/close.png" alt="suppr"/> </a></strong> </div>'; $html .= "</div>"; $html .= "</div>"; break; }
dans ce cas si le lien ou l'url s'affiche sans etre cliquable, c'est pour cela que je rajoute un preg_replace pour que le resultat soit cliquable. -
voici mon conseil:
fais ceci et poste moi le resultat
echo $statut_resize; echo "<br>------------------------------------------<br>"; $statut_resize = $this->correct_news(utf8_encode(stripslashes($this->content)),65,$size_pseudo); echo $statut_resize; echo "<br>------------------------------------------<br>"; $statut_resize = preg_replace("/(http:[^\s]+)/i", "<a href=\"$1\">$1</a>",$statut_resize); echo $statut_resize; echo "<br>------------------------------------------<br>"; $html .= "<span class='piece_news_content'>".$statut_resize."</span>"; -
j'ai fais comme tu ma dit mais c'est pareil ca me retire tout l'affichage des news.
$html .= "<div class='piece_news'>"; $html .= "<strong><a href=\"profil-".$owner->get_id().".html\">".$owner->get_firstname()." " .$owner->get_name()."</a></strong> : "; $size_pseudo = strlen($owner->get_firstname()." ".$owner->get_name()." : "); echo $statut_resize; echo "<br>------------------------------------------<br>"; $statut_resize = $this->correct_news(utf8_encode(stripslashes($this->content)),65,$size_pseudo); echo $statut_resize; echo "<br>------------------------------------------<br>"; $statut_resize = preg_replace("/(http:[^\s]+)/i", "<a href=\"$1\">$1</a>",$statut_resize); echo $statut_resize; echo "<br>------------------------------------------<br>"; $html .= "<span class='piece_news_content'>".$statut_resize."</span>";
en faite j'ai vu que des que l'on place un echo sa m'empeche l'affichage .. -
-
bon en cherchant bien j'ai trouvé mon erreur, j'avais un autre preg_replace sur la case statut plus haut dans mon code, je l'ai supprimé et tout fonctionne ...
maintenant je cherche a afficher des videos type youtube, daylimotion directement sur le mur avec une miniature.
a tu une idée