Remplacer les https par des liens dans du code html

cyberastuces Messages postés 115 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 27 octobre 2010 - 27 oct. 2010 à 15:09
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 28 oct. 2010 à 01:05
Bonjour,

Je suis confronté à un problème, en effet je doit remplacer les adresses http:// en lien cliquable dans du code html quand celles-ci ne les pas déjà.

Les fonctions que j'ai pu tester remplace tous les http:// mais également les href existant les images src="http"...

je souhaite donc modifier uniquement les http:// qui ne soit pas dans une balise (href, img, iframe...)

Connaissez vous une solution.

1 réponse

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
28 oct. 2010 à 01:05
Salut,

preg_replace('`(?!<")http://([^ ]+)(?!=")`', '$1', $string);


Explications :
Avec
http://(\S+)

on va capturer toutes les chaînes de caractères sans caractère blanc (espaces, tabulations, etc).

On utilise deux assertions :
(?!<")

n'est pas précédé par "
et sa soeur :
(?!=")

n'est pas suivi par "

Tu peux aussi ajouter un espace devant http dans le masque de recherche.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
0
Rejoignez-nous