Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/09/2005, 15h07   #1
Invité de passage
 
Inscription : août 2005
Messages : 11
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 11
Points : 1
Points : 1
Par défaut BBcode Image

Hello,

voilà je me suis créé une interface admin avec un endroit dans cet interface ou je peux modifier mon site depuis un formulaire

j'ai créé un bbcode pour des choses générales

Citation:
$contenu = preg_replace('!\[gras\](.+)\[/gras\]!isU', '<strong>$1</strong>', $contenu); //gras
$contenu = preg_replace('!\[italique\](.+)\[/italique\]!isU', '<em>$1</em>', $contenu); //italique
$contenu = preg_replace('!\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]!isU', '<span style="color:$1">$2</span>', $contenu);//couleur
// $contenu = preg_replace('!http://[a-z0-9._/-]+!i', '<a href="$0">$0</a>', $contenu)); //lien
$contenu = preg_replace('!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!', '<a href=\"mailto:$0\">$0</a>', $contenu); //mail
$contenu = preg_replace('!\[h2\](.+)\[/h2\]!isU', '<h2>$1</h2>', $contenu); //h2
// $contenu = preg_replace('!\[h3\](.+)\[/h3\]!isU', '<h3>$1</h3>', $contenu); //h3
$contenu = preg_replace('!\[under\](.+)\[/under\]!isU', '<u>$1</u>', $contenu); //souligné
$contenu = preg_replace('!\[center\](.+)\[/center\]!isU', '<div style="text-align: center">$1</div>', $contenu); //centré

mais je n'arrive pas à créer une regex qui me permettrai d'insérer une image et celui pour que les liens de tous genres ce mettent en lien

comment dois je faire ?

Merci d'avance
KaptainouK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2005, 15h14   #2
Expert Confirmé Sénior
 
Homme Mathias Gaunard
Ingénieur développement logiciels
Inscription : décembre 2003
Messages : 3 543
Détails du profil
Informations personnelles :
Nom : Homme Mathias Gaunard
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : décembre 2003
Messages : 3 543
Points : 4 408
Points : 4 408
Déja ta méthode est mauvaise.
Si j'écris [gras]foo [italique]test[/gras] bar[/italique] je vais me retrouver avec <strong>foo <em>test</strong> bar</em> ce qui est syntaxiquement invalide.
loufoque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2005, 18h57   #3
Invité de passage
 
Inscription : août 2005
Messages : 11
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 11
Points : 1
Points : 1
tu me conseilles quoi ?

et pour limage ?
KaptainouK est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2005, 19h05   #4
Expert Confirmé Sénior
 
Homme Mathias Gaunard
Ingénieur développement logiciels
Inscription : décembre 2003
Messages : 3 543
Détails du profil
Informations personnelles :
Nom : Homme Mathias Gaunard
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : décembre 2003
Messages : 3 543
Points : 4 408
Points : 4 408
Ben si on suit ton modèle

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function urlauto($matches)
{
	if($matches[1]=='www.') $matches[1] = 'http://'.$matches[0];
	else $matches[1] = $matches[0];
 
	if(in_array(strtolower(substr($matches[0], strrpos($matches[0], '.')+1))), array('jpg', 'jpeg', 'gif', 'png')))
	{
		return '<img src="'.htmlspecialchars($matches[1]).'" alt="" />';
	}
	else
	{
		return '<a href="'.htmlspecialchars($matches[1]).'">'.htmlspecialchars($matches[0]).'</a>';
	}
}
$contenu = preg_replace_callback('#([a-z0-9]+://|www\.)\S+#', 'urlauto', $contenu);
loufoque est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h13.


 
 
 
 
Partenaires

Hébergement Web