The extra backslash is / / required because the string is in double quotes. $html = "b bold text / b a href=howdy.html click me / a"; preg_match_all (" / (([\w]+)[^ ]* )(.*) (\ / \\2) / ", $html, $matches); for ($i=0; $i count($matches[0]); $i++) {echo "matched: ".$matches[0][$i] ."\n"; echo "part 1: ".$matches[1][$i] ."\n"; echo "part 2: ".$matches[3][$i] ."\n"; echo "part 3: ".$matches[4][$i] ."\n\n";}?
?php / / Cet exemple utilise les r eacute; f eacute;rences arri egrave;res (#92; #92;2). / / Elles indiquent agrave; l'analyseur qu'il doit trouver quelquechose qu'il / / a d eacute;j agrave; rep eacute;r eacute; un peu plus t ocirc;t / / le nombre 2 indique que c'est le deuxi egrave;me jeu de parenth egrave;ses / / capturante qui doit ecirc;tre utilis eacute; (ici, ([#92;w]+)). / / L'antislash est n eacute;cessaire ici, car la cha icirc;ne est entre guillemets doubles $html = "B Texte en gras / B a href=salut.html clique moi /? preg_match_all (" / (([#92;w]+)[?]? )(.*) (#92; / #92; #92;?) /", $html, $matches); for ($i=0; $i count($matches[0]); $i++) {echo "trouv eacute;: ".$matches[0][$i]. "#92;n"; echo "partie 1: ".$matches[1][$i]." #92;n"; echo "partie 2: ".$matches[3][$i]. "#92;n"; echo "partie 3: ".$matches[4][$i]." #92;n #92;n";}?