eregi_replace ...
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.
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
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 :)
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 !
Thnx,
@+...
One Love, One Heart, One Unity.
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: