Nettoyer une adresse url
			
		
	 
	
	
		Bonjour,
je souhaiterais transformer une adresse du type :
<a href="http://www.blabla.com">lien</a>
en : http://www.blabla.com
Le problème vient du fait que mes liens html peuvent etre multiples, et insérés
dans un texte plus ou moins long
En clair, la fonction "strip_tags" ne convient pas, je ne peux pas me permettre de scanner tout le texte
Il me faudrait comme l'inverse de l'expression régulière suivante (qui transforme une adresse mail, ou un lien vers un site, en lien cliquable) :
$in = array(
'`((?:https?|ftp)://\\S+)(\\s|\\z)`',
'`([[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-_.]?[[:alnum:]])*\.([a-z]{2,4}))`'
);
$out = array(
'<a href="$1" target="_blank">$1</a>$2', 
'<a href="mailto:$1">$1</a>'
);
$text = preg_replace($in, $out, $_POST['texte']);
Merci d'avance
Fausto	
 
	
	
		Quelle que soit la solution que tu retiendras, tu finira pas scanner le fichier à traiter. Mais peut-être qu'il y a un morceau qui n'est pas passé quand tu as publié ton message ?	
			Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
				
				
		
			
		
	 
	
	
		Bonjour,
non, tout le message est bien passé
donc, pas de moyen plus rapide que de tout scanner avec strip_tags ??	
	
			
		
	 
	
	
		Est-ce que c'est lent ? Et si oui, as-tu fait des benchmarks pour le prouver ? Optimiser sans point de repère, c'est une perte de temps pour souvent arriver à un résultat inférieur à ce qu'on avait au départ.
Je vois difficilement comment on peut faire plus rapide que strip_tags (sauf si tu as un gros document, mais dans ce cas, c'est une bonne raison d'optimiser).	
			Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
		
			
		
	 
	
	
		Disons que je récupère le champ d'une table pour commencer, et ensuite je réécris un fichier .js existant, avec les nouvelles données,
donc cela prend un peu de temps
je vais voir cette histoire de point de repères
merci
F	
	
			
		
	 
	
	
		Très franchement, dans l'opération, ça m'étonnerait que ce soit strip_tags qui prenne le plus de temps. Les IO utilisés lors de l'écriture du fichier ou l'accès ç la base doivent avoir un impact bien plus important que strip_tags.
Mais pourquoi tu réécris le fichier ?	
			Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
		
			
		
	 
	
	
		en fait le .js est un éditeur bbcode
en clair, je récupère la valeur de l'ancien texte (dans la base), je supprime les balises html que je remplace par des balises bbcode (c'est là d'ailleurs que je dois supprimer les balises <a href)
Je recompose le javascript et je remplace le contenu de l'ancien par le nouveau
assez complexe et dense comme manip !
F	
	
	
	Ecrire un message
	
	Votre message vient d'être créé avec succès.
	
 
	BB-Code
	
		Pour insérer une URL clickable
		
		Pour insérer une adresse E-mail
		
		Pour annoter
		
		Pour écrire du code
		
		Pour faire un lien vers une fonction PHP
		
		Pour écrire du texte préformaté
		
		Pour écrire du texte en gras
		
		Pour écrire du texte en italique
		
		Pour écrire du texte souligné
		
		Pour écrire du texte barré
		
		Pour écrire un titre principal
		
		Pour écrire un titre secondaire
		
		Pour écrire une liste
		
	 
 
	Smiley
	
		
				
							
				:bond:
				 
			 
						
				:boxe:
				 
			 
						
				:bsmile:
				 
			 
						
				:bump:
				 
			 
						
				:clap:
				 
			 
							 
				
							
				:coeur:
				 
			 
						
				:cool:
				 
			 
						
				:cry:
				 
			 
						
				:eek:
				 
			 
						
				:evil:
				 
			 
							 
				
							
				:fleur:
				 
			 
						
				:fou2:
				 
			 
						
				:fou:
				 
			 
						
				:grin:
				 
			 
						
				:grrr:
				 
			 
							 
				
							
				:hammer:
				 
			 
						
				:hippy:
				 
			 
						
				:hum:
				 
			 
						
				:idee2:
				 
			 
						
				:idee:
				 
			 
							 
				
							
				:kdo:
				 
			 
						
				:king:
				 
			 
						
				:ko:
				 
			 
						
				:lol:
				 
			 
						
				:love2:
				 
			 
							 
				
							
				:love:
				 
			 
						
				:mad:
				 
			 
						
				:maitre:
				 
			 
						
				:noel:
				 
			 
						
				:oops:
				 
			 
							 
				
							
				:raa:
				 
			 
						
				:razz:
				 
			 
						
				:roll:
				 
			 
						
				:sad:
				 
			 
						
				:skull:
				 
			 
							 
				
							
				:smile:
				 
			 
						
				:timide:
				 
			 
						
				:trink:
				 
			 
						
				:vice:
				 
			 
						
				:vomi:
				 
			 
							 
				
							
				:wink:
				 
			 
						
				:zzz:
				