Bonjour,
j'ai un fichier PHP me permettant de tester mon expression régulière.
sauf que mon motif ne fonctionne pas à tous les cas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
51
52
53
54
55
56
57
58
59
60
61 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title>test lexique</title> <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" /> <meta http-equiv="Pragma" content="no-cache" /> <style type="text/css"> body { color:#CC0000; font-family:"Courier New", Courier, monospace; } span { color:#33CC66; } </style> </head> <body> <?php $terme = "AB"; $texte = "*** OUI ***<br />"; $texte .= "oui pour >'AB'<"."<br />"; $texte .= "oui pour >'Ab<"."<br />"; $texte .= "oui pour >'aB <"."<br />"; $texte .= "oui pour >AB'<"."<br />"; $texte .= "oui pour > AB'<"."<br />"; $texte .= "<br />"; $texte .= "oui pour >Ab<"."<br />"; $texte .= "oui pour >aB<"."<br />"; $texte .= "oui pour >ab <"."<br />"; $texte .= "oui pour >AB<"."<br />"; $texte .= "oui pour > AB<"."<br />"; $texte .= "<br />*** NON ***<br />"; $texte .= "non pour >aAB<"."<br />"; $texte .= "non pour >aAB <"."<br />"; $texte .= "non pour >ABb<"."<br />"; $texte .= "non pour > ABb<"."<br />"; $texte .= "<br />"; $texte .= "non pour >éAB<"."<br />"; $texte .= "non pour >éAB <"."<br />"; $texte .= "non pour >ABé<"."<br />"; $texte .= "non pour >àAB<"."<br />"; $texte .= "non pour >ABà<"."<br />"; $texte .= "non pour >çABç<"."<br />"; $motif = "`([\W\s])(".$terme.")([\W\s])`i"; $texte = preg_replace($motif, '$1<span>$2</span>$3', $texte); echo $texte; ?> </body> </html>
C'est à dire, qu'au lieu d'avoir :
j'ai :*** OUI ***
oui pour >'AB'<
oui pour >'Ab<
oui pour >'aB <
oui pour >AB'<
oui pour > AB'<
oui pour >’Ab’<
oui pour >’aB<
oui pour >’ab <
oui pour >AB’<
oui pour > AB’<
*** NON ***
non pour >aAB<
non pour >aAB <
non pour >ABb<
non pour > ABb<
non pour >éAB<
non pour >éAB <
non pour >ABé<
non pour >àAB<
non pour >ABà<
non pour >çABç<Merci d'avance... car là j'avoue je ne vois pas pourquoi...*** OUI ***
oui pour >'AB'<
oui pour >'Ab<
oui pour >'aB <
oui pour >AB'<
oui pour > AB'<
oui pour >’Ab’<
oui pour >’aB<
oui pour >’ab <
oui pour >AB’<
oui pour > AB’<
*** NON ***
non pour >aAB<
non pour >aAB <
non pour >ABb<
non pour > ABb<
non pour >éAB<
non pour >éAB <
non pour >ABé<
non pour >àAB<
non pour >ABà<
non pour >çABç<
Partager