eregi_replace ...

Répondre
i M@N
le 11/03/2004 à 14:26
i M@N
Hello !

J'ai un p'tit souci avec ce bout de code :

$message = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])",
"<a href=\"\\1://\\2\\3\" TARGET=\"_blank\">\\1://\\2\\3</a>",$message);

Si je mets une url avec un espace dedans, ça va pas faire un bon lien.

Que faut-il modifier la dedans pour qu'un espace soit remplacé par %20 ?

@+...

P.S : pour moi les eregi_replace c'est du chinois.
One Love, One Heart, One Unity.
LA GLOBULE
le 11/03/2004 à 20:04
LA GLOBULE
1) les URL avec espaces ca veut rien dire (le premier gars qui a fait n'etait pas tres futé).
2) Moi non plus, je ne connais pas trop les regex, donc je ne pourrais pas trop t'aider smiley
3) pourquoi ne pas ecrire directement au webmaster du site sur lequel tu as recuperé cette astuce, à savoir Dézélus de phpinfo.net ?

...

Je ne vois que ca :)
i M@N
le 11/03/2004 à 21:03
i M@N
Reuh ...

Hum oki !

En fait j'ai posté sur un autre forum et on m'a dit que ct pas possible : impossible de faire la différence entre les espaces du lien et ceux du reste du message.


[^[:space:]]*
signifie que les expressions contenant des espaces ne seront pas prises en compte.
J'ai pas testé, mais ça devrait donner ça normalement.

<?

$message = eregi_replace("([[:alnum:]]+)://(.+)([[:alnum:]#?/&=])",
"<a href=\"\\1://\\2\\3\" TARGET=\"_blank\">\\1://\\2\\3</a>",$message);

?>

http://www.phpinfo.net/articles/article_regex.html
http://www.phpinfo.net/regex/index.html

ET AUSSi :

Si ce code est censé remplacer uen URL par un lien dans un message (comme sur ce forum) autant te dire que c'est impossible de faire ce que tu veux.

Imagine un message comme :
Salut, allez sur http://www.monsite.com/ma page.html c'est super.
Tu peux tout simplement pas faire la distinction entre le texte et le lien (et encore moins si ça ne se termine pas par .html).


Donc la première solution fonctionne pas et je vais mettre les %20 à la mano ! smiley

Thnx,

@+...
One Love, One Heart, One Unity.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours