Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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 28/02/2011, 17h03   #1
 
Inscription : janvier 2011
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 43
Points : -9
Points : -9
Par défaut regex par block

Bonjour, j'aimerais que ce bout de code est effet sur plusieur ligne comment puis-je faire ?

Code :
$texte = preg_replace('#(\[HTML\].*)class="(.*?)"(.*\[/HTML\])#', '$1 <SPAN CLASS="balisehtmltype">class</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
sourcilpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 17h55   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
Hello

Utilise la balise [code].

Utilise le modificateur pcre 'm' (pour multiline): http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 18h07   #3
 
Inscription : janvier 2011
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 43
Points : -9
Points : -9
Je sais que j'en demande beaucoup mais pourais tu me faire un exemple avec la ligne que j'ai mi dans l'enoncer stp
sourcilpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 18h15   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
Code :
1
2
 
$texte = preg_replace('#(\[HTML\].*)class="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">class</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 18h29   #5
 
Inscription : janvier 2011
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 43
Points : -9
Points : -9
Cela ne marche pas :s
sourcilpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 18h31   #6
 
Inscription : janvier 2011
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 43
Points : -9
Points : -9
Voici un peux plus de précision sur mon code

$texte = '[html]
<body>
</body>
[/html]';

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
// Je remplace les balises bb comprises entre des balises HTML
$texte = preg_replace('#(\[HTML\].*)<h1>(.*?)</h1>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;h1&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h1&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<h2>(.*?)</h2>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;h2&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h2&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<h3>(.*?)</h3>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;h3&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h3&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<h4>(.*?)</h4>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;h4&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h4&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<h5>(.*?)</h5>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;h5&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h5&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<h6>(.*?)</h6>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;h6&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h6&gt;</SPAN>$3', $texte);
 
$texte = preg_replace('#(\[HTML\].*)(.*?)<br>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;br&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)(.*?)<br />(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;br /&gt;</SPAN>$3', $texte);
 
$texte = preg_replace('#(\[HTML\].*)<p>(.*?)</p>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;p&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/p&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<em>(.*?)</em>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;em&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/em&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<strong>(.*?)</strong>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;strong&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/strong&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<html>(.*?)</html>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;html&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/html&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<title>(.*?)</title>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;title&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/title&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<head>(.*?)</head>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;head&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/head&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<body>(.*?)</body>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;body&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/body&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<q>(.*?)</q>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;q&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/q&gt;</SPAN>$3', $texte);
 
$texte = preg_replace('#(\[HTML\].*)<a(.*?)>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;a</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<acronym(.*?)>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;acronym</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<html(.*?)>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;html</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<body(.*?)>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;body</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)>(.*?)</a>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/a&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)>(.*?)</acronym>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/acronym&gt;</SPAN>$3', $texte);
 
$texte = preg_replace('#(\[HTML\].*)<img(.*?)/>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;img</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">/&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<img(.*?)>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;img</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)<span(.*?)>(.*\[/HTML\])#m', '$1<SPAN CLASS="balisehtml">&lt;span</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
 
$texte = preg_replace('#(\[HTML\].*)class="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">class</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)http-equiv="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">http-equiv</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)xmlns="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">xmlns</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)content="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">content</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)rel="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">rel</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)media="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">media</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)type="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">type</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)href="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">href</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)title="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">title</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)alt="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">alt</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)src="(.*?)"(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">src</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#(\[HTML\].*)target=(.*?)&nbsp(.*\[/HTML\])#m', '$1 <SPAN CLASS="balisehtmltype">target</SPAN>=<SPAN CLASS="balisehtmlnameautre">$2</SPAN>$3', $texte);
 
// je supprime les balises HTML
$texte = preg_replace('#\[HTML\](.*)\[/HTML\]#m','<br><span class="codetype">CODE HTML :</span><div class="code">$1</div>', $texte);
 
echo $texte;
?>
sourcilpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 18h31   #7
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
alors essaie le 'sm' ou change de pattern. Mets aussi les caractères '^' et '$' pour marquer le début ou la fin de chaine dans le pattern ou l'option 'm' n'aura aucun effet.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 18h34   #8
 
Inscription : janvier 2011
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 43
Points : -9
Points : -9
Citation:
Envoyé par Benjamin Delespierre Voir le message
alors essaie le 'sm' ou change de pattern.
que veut dire pattern ? stp

et regarde un peu plus aux j'ai mi une pressision

Citation:
Envoyé par Benjamin Delespierre Voir le message
alors essaie le 'sm' ou change de pattern. Mets aussi les caractères '^' et '$' pour marquer le début ou la fin de chaine dans le pattern ou l'option 'm' n'aura aucun effet.
C'est a dire redonne moi les pressision pour le meme exemple que tout a l'heure stp
sourcilpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 18h38   #9
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
Code :
1
2
 
$texte = preg_replace('#^(\[HTML\].*)class="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">class</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
Par exemple.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 18h51   #10
 
Inscription : janvier 2011
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 43
Points : -9
Points : -9
Merci de ta reponse mais une derniere chose voici mon texte

Code :
$texte = '<<<@!1!@>>>';
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
// Je remplace les balises bb comprises entre des balises HTML
$texte = preg_replace('#^(\[HTML\].*)<h1>(.*?)</h1>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;h1&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h1&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<h2>(.*?)</h2>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;h2&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h2&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<h3>(.*?)</h3>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;h3&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h3&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<h4>(.*?)</h4>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;h4&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h4&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<h5>(.*?)</h5>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;h5&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h5&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<h6>(.*?)</h6>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;h6&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/h6&gt;</SPAN>$3', $texte);
 
$texte = preg_replace('#^(\[HTML\].*)(.*?)<br>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;br&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)(.*?)<br />(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;br /&gt;</SPAN>$3', $texte);
 
$texte = preg_replace('#^(\[HTML\].*)<p>(.*?)</p>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;p&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/p&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<em>(.*?)</em>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;em&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/em&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<strong>(.*?)</strong>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;strong&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/strong&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<html>(.*?)</html>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;html&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/html&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<title>(.*?)</title>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;title&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/title&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<head>(.*?)</head>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;head&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/head&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<body>(.*?)</body>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;body&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/body&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<q>(.*?)</q>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;q&gt;</SPAN><SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/q&gt;</SPAN>$3', $texte);
 
$texte = preg_replace('#^(\[HTML\].*)<a(.*?)>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;a</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<acronym(.*?)>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;acronym</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<html(.*?)>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;html</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<body(.*?)>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;body</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)>(.*?)</a>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/a&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)>(.*?)</acronym>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtmltexte">$2</SPAN><SPAN CLASS="balisehtml">&lt;/acronym&gt;</SPAN>$3', $texte);
 
$texte = preg_replace('#^(\[HTML\].*)<img(.*?)/>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;img</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">/&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<img(.*?)>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;img</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)<span(.*?)>(.*\[/HTML\])$#sm', '$1<SPAN CLASS="balisehtml">&lt;span</SPAN>&nbsp;$2<SPAN CLASS="balisehtml">&gt;</SPAN>$3', $texte);
 
$texte = preg_replace('#^(\[HTML\].*)class="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">class</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)http-equiv="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">http-equiv</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)xmlns="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">xmlns</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)content="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">content</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)rel="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">rel</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)media="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">media</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)type="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">type</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)href="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">href</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)title="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">title</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)alt="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">alt</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)src="(.*?)"(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">src</SPAN>=<SPAN CLASS="balisehtmlname">"$2"</SPAN>$3', $texte);
$texte = preg_replace('#^(\[HTML\].*)target=(.*?)&nbsp(.*\[/HTML\])$#sm', '$1 <SPAN CLASS="balisehtmltype">target</SPAN>=<SPAN CLASS="balisehtmlnameautre">$2</SPAN>$3', $texte);
 
// je supprime les balises HTML
$texte = preg_replace('#^\[HTML\](.*)\[/HTML\]$#sm','<br><span class="codetype">CODE HTML :</span><div class="code">$1</div>', $texte);
 
echo $texte;
Mais rien ne s'affiche pourquoi ?
sourcilpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 18h52   #11
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
J'arrive pas à comprendre ce que tu essaie de faire. Tu pourrais m'expliquer le but de ta mécanique ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 19h03   #12
 
Inscription : janvier 2011
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 43
Points : -9
Points : -9
En faite ce que j’essaie de faire c'est que quand je met du code html entre les balise [html] et [/html] cela me reproduit exactement la même chose et le même couleur que si on l’écrivais dans notepad++

exemple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
        <title>Exemple d'utilisation de CSS externe</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
        <link rel="stylesheet" media="screen" type="text/css" title="Essai" href="essai.css" >
    </head>
    <body>
        <h1>Découverte du CSS</h1>
        <p>
            Bonjour !<br>
            Je suis une page XHTML <em>apparemment</em> banale, mais je sers en fait de test de fichier
            <acronym  title="Cascading Style Sheets">CSS</acronym> pour les tutoriels de
            <a href="http://www.monsite.com">Mon Site</a>
        </p>
        <h2>Ce n'est que du blabla</h2>
        <p>
            Comme l'a dit Neil Armstrong un certain 20 juillet 1969 : <q>C'est un petit pas pour l'Homme, un grand pas
            pour l'Humanité</q><br>
            J'aime la choucroute en conserve.<br>
            Vive les frites !
        </p>
        <p>
            Quoi, ça ne veut rien dire ce que j'écris ? On s'en fout, c'est pour tester notre fichier .css
        </p>
    </body>
</html>
et que cela m’affiche le texte ci-dessus avec les couleur de notepad++ sans que les balise s'exécute
sourcilpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 19h17   #13
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
Je ne vois pas d'utilité particulière mais quelqu'un s'est déjà cassé la tête là dessus avant toi:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
function xml_highlight($s)
{       
    $s = htmlspecialchars($s);
    $s = preg_replace("#<([/]*?)(.*)([\s]*?)>#sU",
        "<font color=\"#0000FF\"><\\1\\2\\3></font>",$s);
    $s = preg_replace("#<([\?])(.*)([\?])>#sU",
        "<font color=\"#800000\"><\\1\\2\\3></font>",$s);
    $s = preg_replace("#<([^\s\?/=])(.*)([\[\s/]|>)#iU",
        "<<font color=\"#808000\">\\1\\2</font>\\3",$s);
    $s = preg_replace("#<([/])([^\s]*?)([\s\]]*?)>#iU",
        "<\\1<font color=\"#808000\">\\2</font>\\3>",$s);
    $s = preg_replace("#([^\s]*?)\=("|')(.*)("|')#isU",
        "<font color=\"#800080\">\\1</font>=<font color=\"#FF00FF\">\\2\\3\\4</font>",$s);
    $s = preg_replace("#<(.*)(\[)(.*)(\])>#isU",
        "<\\1<font color=\"#800080\">\\2\\3\\4</font>>",$s);
    return nl2br($s);
}
 
$a = <<<HTML
<html>
  <head>
    <title>Titre</title>
  </head>
  <body>
    <?php echo "hello"; ?>
  </body>
</html>
HTML;
 
echo highlight_string($a, true); // pour PHP (natif)
echo xml_highlight($a); // pour XML
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 19h23   #14
 
Inscription : janvier 2011
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 43
Points : -9
Points : -9
Citation:
Envoyé par Benjamin Delespierre Voir le message
Je ne vois pas d'utilité particulière mais quelqu'un s'est déjà cassé la tête là dessus avant toi:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
function xml_highlight($s)
{       
    $s = htmlspecialchars($s);
    $s = preg_replace("#<([/]*?)(.*)([\s]*?)>#sU",
        "<font color=\"#0000FF\"><\\1\\2\\3></font>",$s);
    $s = preg_replace("#<([\?])(.*)([\?])>#sU",
        "<font color=\"#800000\"><\\1\\2\\3></font>",$s);
    $s = preg_replace("#<([^\s\?/=])(.*)([\[\s/]|>)#iU",
        "<<font color=\"#808000\">\\1\\2</font>\\3",$s);
    $s = preg_replace("#<([/])([^\s]*?)([\s\]]*?)>#iU",
        "<\\1<font color=\"#808000\">\\2</font>\\3>",$s);
    $s = preg_replace("#([^\s]*?)\=("|')(.*)("|')#isU",
        "<font color=\"#800080\">\\1</font>=<font color=\"#FF00FF\">\\2\\3\\4</font>",$s);
    $s = preg_replace("#<(.*)(\[)(.*)(\])>#isU",
        "<\\1<font color=\"#800080\">\\2\\3\\4</font>>",$s);
    return nl2br($s);
}
 
$a = <<<HTML
<html>
  <head>
    <title>Titre</title>
  </head>
  <body>
    <?php echo "hello"; ?>
  </body>
</html>
HTML;
 
echo highlight_string($a, true); // pour PHP (natif)
echo xml_highlight($a); // pour XML
cela ne m'aide en rien a mon probleme mal heureusement
sourcilpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 19h30   #15
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
Sans être indiscret, c'est pour faire quoi au juste ? S'il ne s'agit que d'afficher de la coloration syntaxique tu pourrais juste renvoyer le document et l'ouvrir avec ton éditeur favori.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 19h33   #16
 
Inscription : janvier 2011
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 43
Points : -9
Points : -9
Citation:
Envoyé par Benjamin Delespierre Voir le message
Sans être indiscret, c'est pour faire quoi au juste ? S'il ne s'agit que d'afficher de la coloration syntaxique tu pourrais juste renvoyer le document et l'ouvrir avec ton éditeur favori.
Faire le meme principe que les balise "code" pour poster un message sur se site mais moi je veut juste l'adapter
sourcilpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 19h43   #17
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
Ok, l'exemple que t'ai donné précédemment couvre la coloration PHP et XML (XHTML également).
Je trouve que tu te casses trop la tête pour rien car il existe des scripts pour faire ça:
- http://qbnz.com/highlighter/index.php
- http://pear.php.net/package/Text_Highlighter/redirected
- http://articles.sitepoint.com/articl...ource-code-php
- http://pradador.com/code/lighterjs/

Traditionnellement, on fait ça en JS et non en PHP.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 20h33   #18
 
Inscription : janvier 2011
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 43
Points : -9
Points : -9
tout est en anglais et moi et l'anglais sa fait deux pourais tu m'expliquer plus ?
sourcilpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2011, 20h58   #19
 
Inscription : janvier 2011
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 43
Points : -9
Points : -9
Par défaut balise fin debut

Salutation,

voila je me creuse la tête depuis deux jours sans trouver une solution a mon problème
Peut être pourriez vous m'aider ... c'est ce que l'on va voir

Alors voila j'aimerais faire en sorte que a chaque fois que j'envoie un texte par la méthode post dans mon texte se rajoute a chaque début de ligne la balise [html] et a chaque fin de ligne [/html] voici un exemple pour vous éclairer :

mon texte initial :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Exemple d\'utilisation de CSS externe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
<link rel="stylesheet" media="screen" type="text/css" title="Essai" href="essai.css" >
</head>
<body>
<p>
</p>
<p>
</p>
</body>
</html>
et apres l'envoi cela donne ça :
Citation:
[html]<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >[/html]
[html]<head>[/html]
[html]<title>Exemple d\'utilisation de CSS externe</title>[/html]
[html]<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >[/html]
[html]<link rel="stylesheet" media="screen" type="text/css" title="Essai" href="essai.css" >[/html]
[html]</head>[/html]
[html]<body>[/html]
[html]<p>[/html]
[html]</p>[/html]
[html]<p>[/html]
[html]</p>[/html]
[html]</body>[/html]
[html]</html>[/html]
comment puis-je faire ?
sourcilpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2011, 21h19   #20
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu es arrivé a quoi pendant ces deux jours de reflexion ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h23.


 
 
 
 
Partenaires

Hébergement Web