Url tronqué avec preg_replace

Fermé
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 - 11 janv. 2011 à 08:36
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 - 17 janv. 2011 à 12:55
Bonjour,
voila j'ai placer un preg replace afin de mettre les lient url cliquables,
les liens s'affiche a deux endroite different, sur un endroit il est cliquable et entier, sur l'autre endroit il est coupé et non cliquable.
je n'arrive pas a trouver ce qui peut faire ca !!

case 'new' : {
					
					// Insert data of the news into database and initiate the object 
					// with those values
					$wall_type = $parms['wall_type'];
					$type = $parms['type'];
					$owner_id = $parms['owner_id'];
					$concerned_id = $parms['concerned_id'];
					$content = addslashes(utf8_decode($parms['content']));
					$date = date('Y-m-d H:i:s');
					$reference = $parms['reference'];

					switch($wall_type) {
						// Insert the news into the table which matches with its type using user_id
						case 'MAIN' : {
							switch ($type) {
								case 'STATUTE' : {
									$ins_req = "INSERT INTO '".$this->config['bdd_table']
										."statutes'('user_id','text','date') 
										VALUES ('".$owner_id."','".$content."','".$date."');";
									$content = preg_replace('#http://[?a-z0-9._/=]+#i', '<a href="$0"target="_blank">$0</a>', $content);
									
									
									break;									
								}
							}
						}
						

						case 'USER' : {
							
							switch ($type) {
								
								case 'STATUTE' : {
									$ins_req = "INSERT INTO '".$this->config['bdd_table']
										."statutes'('user_id','text','date') 
										VALUES ('".$owner_id."','".$content."','".$date."');";
									$content = preg_replace('#http://[a-z0-9._/-=?]+#i', '<a href="$0"target="_blank">$0</a>', $content);
										
									$recordset = mysql_query($ins_req);
									if (!$recordset) {
										// Error during the insert
										$answer = false;
									}
									
									break;
								}
								case 'WALL' : {
									$ins_req = "INSERT into '".$this->config['bdd_table']
										."wall'('user_id','sender_id','text','date') 
										VALUES ('".$owner_id."','".$concerned_id."','".$content."','".$date."');";
									 $content = preg_replace('#http://[a-z0-9._/-=?]+#i', '<a href="$0"target="_blank">$0</a>', $content);
										
									$recordset = mysql_query($ins_req);
									if (!$recordset) {
										// Error during the insert
										$answer = false;
									}

									break;



4 réponses

asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 13
Modifié par asus02 le 11/01/2011 à 15:10
en changeant le preg_replace j'ai plus mon lien de coupé par contre toujours pas cliquable dans la deuxieme partie 'mur'.

$content = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $content);


par contre toujours cette anomalie d'espace ...

<span class="piece_news_content"><a href="http: google.fr=""></a href="http:></span>


dans le premier a href on remarque qu'il manque //
ensuite j'ai ma fermeture </a> qui se melange avec un href et http .....
ca devient vraiment bizarre j'ai vraiment l'impression que les regex ne passe pas du tout .. ou du moins sur la partie du bas car dans la partie statut tout se deroule bien..

merci de votre aide et de vos idées.
0
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 13
11 janv. 2011 à 15:33
c'est un truc de fou !!!!
0
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 13
12 janv. 2011 à 20:22
petit up ..
0
asus02 Messages postés 197 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 18 septembre 2013 13
17 janv. 2011 à 12:55
up
0