Communauté Informatique NDFR.net

Communauté Informatique NDFR.net (http://www.ndfr.net/forums/index.php)
-   Programmation Web (HTML, PHP, ASP, Java, XML, etc.) (http://www.ndfr.net/forums/forumdisplay.php?f=65)
-   -   eregi_replace (http://www.ndfr.net/forums/showthread.php?t=1825)

Matt 25-05-2003 22:43

Je pense pas que l'ordre des eregi_replace influe sur quelque chose (au passage, je ne vois pas l'intérêt du premier, puisque la fonction nl2br supprime tous les \n ...)
Pour le eregi_replace, essaye peut-être comme ça :
while (eregi("\[url=([[:alnum:]]+)://([^<[:space:]]*)([[:alnum:]#?/&=])\](.+)\[\/url\]", $news_main)) {
$news_main = eregi_replace("\[url=([[:alnum:]]+)://([^<[:space:]]*)([[:alnum:]#?/&=])\](.+)\[\/url\]", "<a href=\"\\1://\\2\\3\" target=\"_blank\">\\4</a>", $news_main);
}

Magi-X 25-05-2003 23:32

ben non regarde ce ke ca donne -->

en tappent (g enlever le [ pour kil ne le trensforme po)

URL=http://www.google]test[/URL]

URL=http://www.google]test[/URL]

URL=http://www.google]test[/URL]

il donne -->

test ca c un lien ki fonctionne

[URL=http://www.google]test c'est tout ce kil met et ce nest pas un lien

Matt 26-05-2003 14:10

Ca y'est .. j'ai compris le problème ...

Ceci devrait marche :
$news_main = eregi_replace("\[url=([[:alnum:]]+)://([^<[:space:]]*)([[:alnum:]#?/&=])\]([[:alnum:]#?/&= ]*)\[\/url\]", "<a href=\"\\1://\\2\\3\" target=\"_blank\">\\4</a>", $news_main);

Magi-X 26-05-2003 16:41

merciiii :D

tes quand meme gentil toi hein, hooh jte di jdevien amoureux la :p

Matt 26-05-2003 17:25

C'est pas de la gentillesse ... Plutôt de la pitié :p

Magi-X 17-06-2003 14:46

g un nvx bleme, parce ke maintentant je dois faire linverse!!!

et j'ai quasi trouvé moi meme, mais ca fonctionne plus des kil y a deux lien dans le texte!

le code:

$news['news_main'] = eregi_replace("<a href=\"([^\\[]*)\" target=_blank>([^\\[]*)</a> ", "[ url=\\1]\\2[/ url]",$news['news_main']);

Matt 17-06-2003 16:31

Essaye comme ça dans le sens BBCODE => HTML (le preg marche mieux que le ereg) :
$string = preg_replace('/\[url\=(http|ftp|https)\:\/\/([a-z0-9\/_\.\-]*)\](.*)\[\/url\]/iU', "<a href=\"\\1://\\2\" target=\"_blank\">\\3</a>", $string);
Et pour le sens HTML => BBCODE, utilise :
$string = preg_replace('<a href=\"([^\\[]*)\" target=_blank>([^\\[]*)</a> /iU', '[ url=\\1]\\2[/ url]', $string);
Par contre, je vois pas trop l'intérêt de la manip dans ce sens ... :confused:

Magi-X 17-06-2003 16:38

ben quand on modifie un message, faut bien que le code html pour les lien ce remette en BBCODE !

En tout ca jv une fois essayer ton code! merci

Magi-X 17-06-2003 16:44

le deuxieme fonctionne pas! le premier oui!

Magi-X 17-06-2003 16:49

il nafiche rien quand je fais mofidier !

Matt 17-06-2003 18:27

Quote:

Provient du message de Magi-X
ben quand on modifie un message, faut bien que le code html pour les lien ce remette en BBCODE !

En tout ca jv une fois essayer ton code! merci

>> Ben dans ta base, tu stockes en BBCODE, et tu passes en HTML au moment de l'affichage ... comme ça pas de problème pour l'édition ...

Pour le deuxième, essaye comme ça :
$string = preg_replace('/\<a href=(http|ftp|https)\:\/\/([a-z0-9\/_\.\-]*)\>(.*)\<\/a\>/iU', '\[url=\"\\1://\\2\"\]\\3\[\/url\]', $string);

Magi-X 17-06-2003 18:36

Quote:

Provient du message de Matt
>> Ben dans ta base, tu stockes en BBCODE, et tu passes en HTML au moment de l'affichage ... comme ça pas de problème pour l'édition ...


Mouhahaha je suis con, en plus c'est trop logique, pffff hahaha jsuis cooooooooon, marci mattou! Je vais faire comme ca!

looooooool jarrive po a le croire ! Moi ki me casse la tete a faire linverse! mouhaha !

:cry: jpeux tout modifier


All times are GMT +2. The time now is 04:30.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.