Page 1 sur 1

Raccourcir une chaine

Posté : 30 août 2006, 19:21
par brizz
Bonjour,
J'ai trouvé ce script sur le net qui permet de rendre les URL cliquables. Mais j'aimerais savoir comment faire pour que, si ces adresses dépasse 75 caractères, elles soient rognées au delà.
			$msg = eregi_replace("(((ftp://)|(http(s?)://))(([[:alnum:]]|[-\%\.\?\=\#\_\:\&\/\~\+\@\,\;])*))","<a href = '\\0' target='_blank'>\\0</a>",$msg;
			$msg = eregi_replace("(([^/])www\.|(^www\.))(([[:alnum:]]|[-\%\.\?\=\#\_\:\&\/\~\+\@\,\;])*)","\\2<a href = 'http://www.\\4' target='_blank'>www.\\4</a>",$msg);
Exemple :
Que http://www.phpfrance.com/forums/posting ... wtopic&f=8
donne http://www.phpfrance.com/forums(...)
voire, encore mieux
hhttp://www.phpfrance.com(...)mode=newtopic&f=8

Pour que l'adresse fassse toujours au plus 75 caractères (dans l'exemple je n'ai pas compté)

Est ce possible ? D'avance merci pour votre aide[/url]

Posté : 30 août 2006, 19:35
par jojolapine
je pense qu'il va falloir t'orienter du côté de preg_replace et plus précisement de preg_replace_callback(), de manière à pouvoir utiliser une fonction comme: substr()
Voilà quelques pistes

Posté : 30 août 2006, 21:07
par brizz
Merci jojolapine, mais est ce que cela change la syntaxe ou je peux remplacer eregi_replace par preg_replace sans problème ? Sinon que dois je changer dans la syntaxe ? d'avance merci pour votre aide

Posté : 30 août 2006, 23:39
par brizz
J'ai essayé en remplaçant dans un premier temps eregi_replace par preg_replace, mais ça ne marche plus du tout... Quelles modifications dois je faire ?