eregi_replace est insensible à la casse, ça en sert donc à rien d´écrire a-zA-Z, a-z suffit.
le ^ veut dire la chaine doit commencer par xxx.
Dons il faut toujours le mettre au début de la regex. Mais dans ce cas, il en faut pas en mettre puisque le texte peut commencer par autre chose que le lien.
Idem pour le $.
Ensuite, le - , quand il est entre crochet, il faut le mettre en premier: [-a-z]. Il ne faut pas l´echapper: \-
Le . = ? _ n´ont pas besoins d´être échappé. ( Sauf le . et le ? quand il en sont pas entre crochets.)
Bon allez, cadeau. Voici ta regex:
\[url\]((http|ftp)://([a-z0-9]+[-.:?#&@=%/]*)*)\[/
url\]
Elle n´est pas très strict ( des adresses invalides pourront être acceptée) mais accpte des adresse complexe:
ftp://https://www.jeuxvideo.com//qsd.dsq/user :poie@fsd.fr
Merci bcp grand et humble chef !
Et au fait tu peux pas forcer le modéro des forums de JV.com de te filer le pass ?
Menace-le !
http://www.graphicolas.fr.st
Voilà, mis à jour vous pouvez mettre des liens sous la forme [url]http://lien.html[/url]
A vos marque... Postez !
Je le demande quasiment toutes les semaine mais Reaver efface ma demande. C´est a priori signe qu´il ne juge pas utilie qu´il y ai un modéro ici.
Blawk ==> http://graphicolas.free.fr
Système de news remis en marche...
En fait, j´avais juste à modifier les données de conn_news qui était ajuster pour mon localhost... C´est vachement dur à régler ca, hein ? ! ; ) lol
Je suis gentil je t´ai remercié dans mon blog avec l´adresse de ton site ; )
Et regardez ! J´ai fait un petit script qui insere des smileys dans mon blog ! Tout seul !
= smiley... ; )
@+ Colas
http://graphicolas.free.fr
Blawk ==> J´ai changé mes smileys et mis un petit javascript sur le popup des smileys
@+ Colas
Juste par curieusité, peut tu mettre ton script en dl ?
Oui, je vais meme le mettre à la suite de ce message ; )
En fait, j´ai fait des fonctions pour chaque smiley, et j´ai appelé les fonctions ensuite, regarde le code :
< html><body>
< table width="600" cellpadding="5"><tr valign="top"><td valign="top" width="150" align="left">
< form action="index.php" method="POST">
< p>Nom : < br>
< input type="text" name="nom" size="15" value="Votre nom/pseudo">
< /p>
< p>Mail : < br>
< input type="text" name="mail" size="15" value="e-mail@domain.fr">
< /p>
< p>Message : < br>
< textarea name="mes" cols="16" rows="5">Votre message</textarea>
< /p>
< div align="center"><input type="submit" value="Envoyer"></div>
< /form>
< div align="left"><font size="1">Si vous voulez faire un lien, insérez entre les balises [url] et [/url] votre url.<br><br><br></font></div>
< A HREF="#" target="_blank"
onClick="window.open(´smiley/index.html´,´_blank´,
´toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=380, height=200´);return(false)">Introduire un smiley</A>
< ?php
if ( $_POST)
{
$nom = htmlentities($nom);
$mail = htmlentities($mail);
$mes = htmlentities($mes);
function lien($mes) {
$mes =
eregi_replace(´\[url\]((http|ftp)://([a-z0-9]+[-.:
?#&@=%/]*)*)\[/url\]´, ´<a href="\\1">\\1</a>´, $mes);
return $mes;
}
function angry($mes) {
$mes = eregi_replace(´:col:´, ´<img src="smiley/col.gif">´, $mes);
return $mes;
}
function happy($mes) {
$mes = eregi_replace(´:happy:´, ´<img src="smiley/happy.gif">´, $mes);
return $mes;
}
function clin($mes) {
$mes = eregi_replace(´:clin:´, ´<img src="smiley/clin.gif">´, $mes);
return $mes;
}
function triste($mes) {
$mes = eregi_replace(´:triste:´, ´<img src="smiley/triste.gif">´, $mes);
return $mes;
}
function cool($mes) {
$mes = eregi_replace(´
´, ´<img src="smiley/cool.gif">´, $mes);
return $mes;
}
function tired($mes) {
$mes = eregi_replace(´:tired:´, ´<img src="smiley/tired.gif">´, $mes);
return $mes;
}
function heu($mes) {
$mes = eregi_replace(´:heu:´, ´<img src="smiley/heu.gif">´, $mes);
return $mes;
}
function fou($mes) {
$mes = eregi_replace(´:fou:´, ´<img src="smiley/fou.gif">´, $mes);
return $mes;
}
function chine($mes) {
$mes = eregi_replace(´:chine:´, ´<img src="smiley/chine.gif">´, $mes);
return $mes;
}
function mexic($mes) {
$mes = eregi_replace(´:mexic:´, ´<img src="smiley/mexic.gif">´, $mes);
return $mes;
}
function rasta($mes) {
$mes = eregi_replace(´:rasta:´, ´<img src="smiley/rasta.gif">´, $mes);
return $mes;
}
function depress($mes) {
$mes = eregi_replace(´:depress:´, ´<img src="smiley/depress.gif">´, $mes);
return $mes;
}
if ( !$nom || ! $mes || ! $mail)
{
echo " Un ou plusieurs champs sont vides.<br>";
exit;
}
trim($nom);
trim($mes);
trim($mail);
$mes = lien($mes);
$mes = angry($mes);
$mes = happy($mes);
$mes = clin($mes);
$mes = triste($mes);
$mes = cool($mes);
$mes = tired($mes);
$mes = heu($mes);
$mes = fou($mes);
$mes = chine($mes);
$mes = mexic($mes);
$mes = rasta($mes);
$mes = depress($mes);
if
(!eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9
\-\.]+$", $mail)){
echo " Votre adresse e-mail " .$mail." nest pas valide, merci d´en entrer une valide.";
exit;
}
if ( strstr($nom, " nom/pseudo")){
echo " Votre message n´est pas valide...";
exit;
}
$nom = addslashes($nom);
$mes = addslashes($mes);
$mail = addslashes($mail);
@ $db = mysql_connect(*********);
if ( !$db)
{
echo " Impossible de se connecter à la BDD.";
exit;
}
mysql_select_db("graphicolas");
$query = " INSERT INTO blog ( nom, mes, mail) VALUES ( ´".$nom."´, ´".$mes."´, ´".$mail."´)";
$result = mysql_query($query);
}
echo ´</td><td valign="top" width="450">´;
@ $db = mysql_connect(*******);
if ( !$db)
{
echo " Impossible de se connecter à la BDD.";
exit;
}
mysql_select_db("graphicolas");
$query="SELECT * FROM blog ORDER BY id DESC";
$result=mysql_query($query);
while ( $row=mysql_fetch_array($result)) {
echo´<table width="450" cellpadding="3">
< tr>
<td bgcolor="#eeeeee" colspan="2">Par < a
href="mailto:´.stripslashes($row["mail"]).´">´.str
ipslashes($row["nom"]).´</td>
</tr>
<tr>
<td colspan="2"
bgcolor="#cccccc">´.stripslashes($row["mes"]).´</t
d>
</tr><br>
</table>´;}
? >
< /td></tr></table>
Voilà, tu en pense quoi ?
@+ Colas
pour cool, ca a mis le smiley ; )
Pierre ==> Tu peux aussi me repasser les scripts de ton livre d´or ?
ce serait sympa, envoie les moi, ul-les, ou met les sur ce topic.
T´en pense quoi alors du code, il y a plus simple ?
Mouais.... C´est bien ce que je pensais... C´est dégueulasse...
Imagine que tu ai 100 smileys...
Pour le livre d´or: http://perso.wanadoo.fr/pierre.z/ldo.txt
Si tu veux bien patienté, je te prépare une petite fonction ´magique´.
Voilà...
Tu peux mettre le $GLOBALS = . .. Dans une pages à part et faire un include.
Voici le format:
[´symbole´] => [´nomdelimage´]
< ?php
$GLOBALS[´smileys´] = array(
´:-)´ => ´happy´,
´:-(´ => ´sad´,
´:wink:´ => ´wink´ ) ;
function makeSmileys($txt) {
foreach ( $GLOBALS[´smileys´] as $key => $src)
$txt = str_replace(´ ´.$key.´ ´, ´<img src="imageshttp://image.jeuxvideo.com/smileys_img/´.$src.´.gif">´, $txt);
return $txt;
}
$txt = ´Salut, azepkp
. ..´;
echo makeSmileys($txt);
? >
le fichier txt est ici:
http://perso.wanadoo.fr/pierre.z/smileys.txt
Ouais, c´est vrai que c´est mieux dans un tableau associatif, mais je ne suis que débutant et je ne pense pas à bcp d´autre possiblités ! Ca va venir avec l´expérience... ; )
Donc j´ai tout refait, mais ca marche quand meme moins bien... il ne faut pas que les smileys soit au tout au début du texte, et desfois ca foire, mais ca marche la plupart du temps, j´ai remis à jour si tu veux voir. http://graphicolas.free.fr
Mais ca sert à quoi de faire le tableau $GLOBAL, on peu pas faire le tableau dans une variable normal ?
@+ Colas
str_replace(´ ´.$key.´ ´...
Il doit y avoir des espaces autour du smileys. Si tu en veux pas, écrit ça:
str_replace($key...
Mettre les smileys dans $GLOBALS permets de rendre accessible le tableau partout. Ca optimise un peu si tu a plusieurs message à traiter.
Pour qu´il y ait des espace avant et après le smileys ( ça évite que les mots soent collé à l´image), remplace ça:
´<img src="images/smileys/´.$src.´.gif">´,
Par ça:
´ <img src="images/smileys/´.$src.´.gif">´ ´,
Merci, ca va mieux comme ca, je serai moins connecté pendant un moment, je passerai, mais moins souvent, j´apprend sur mon livre un espace membre...
Merci bcp
@+ Colas
Faudrait que tu investisse dans l´ADSL. En ce moment, il y a une offre chez club-internet, c´est 40€/mois pour l´ADSL 1024.
PUTAIN ! !!!
je vous dit que je peux pas avoir l´ADSL, la ligne arrive à 500 metres de chez moi, mais je peux pas l´avoir, c´est des salauds ! pour 500 metres ! Mes potes l´ont, mais pas moi ! !!
Je bosse sur GC V.2, je vais faire un GROS truc, mais j´aurais peut-etre besoin de votre aide plus tard, pour le moment tout marche. Ce sera un GROS truc comme je vous dit, j´en avais deja parlé sur mon ancien Blog.
Attendez vous à tout !
@+ Colas