Affichage des liens en double php

Fermé
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 - 18 janv. 2011 à 12:46
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 - 18 janv. 2011 à 15:15
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 :

$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>.
A voir également:

10 réponses

xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
18 janv. 2011 à 13:11
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>";
0
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 13
18 janv. 2011 à 13:21
alors j'ai testé ton code mais je n'est plus du tout d'affichage des news ce coup ci ...
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
18 janv. 2011 à 13:34
sorry c:
$statut_resize = preg_replace("(/http://[^\s]+)/i", "<a href=\"$1\">$1</a>",$statut_resize);

0
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 13
18 janv. 2011 à 13:42
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 
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
18 janv. 2011 à 14:00
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;
0

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

Posez votre question
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 13
18 janv. 2011 à 14:07
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 
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
18 janv. 2011 à 14:16
copie moi la valeur initiale de $statut_resize avant l'utilisation de la fonction : correct_news

PS: pense a utiliser les tag
 losque tu postes un code, sinon c'est illisible.
    
0
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 13
18 janv. 2011 à 14:21
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.
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
18 janv. 2011 à 14:36
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>";




0
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 13
18 janv. 2011 à 14:45
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 ..
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
18 janv. 2011 à 14:55
bizarre mais c'est plutot le resultat que je voulais examiner, pas le code.
est ce que la page est online?
0
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 13
18 janv. 2011 à 15:00
je t'es envoyé un mess privé avec les identifiants
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
18 janv. 2011 à 15:15
je t'ai repondu
0
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 13
18 janv. 2011 à 15:15
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
0