|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
![]() ![]() Michaël TodorovicIngénieur systèmes et réseaux Inscription : juillet 2003 Messages : 3 493 ![]() |
bonjour,
j'ai un texte Code :
Citation:
Code :
preg_match_all("/<balise[^>]*>(.*)<\/balise[^>]*>/", htmlspecialchars($text), $matches); quand je n'ai pas de retour à la ligne, ça me donne bien ce que je veux. comment je peux faire pour lui faire prendre en compte ce retour à la ligne sachant qu'il peut y en avoir plusieurs et placés n'importe où entre les balises ?
__________________
- Installation et configuration de Exchange 2010 new! - Installation d'Office Communications Server (OCS) 2007 R2 Standard - Présentation de Microsoft Online Services - Installation d'Active Directory sous Windows Server 2008 R2 - Mon blog sur Windows Server, Exchange, OCS et AD | Mes articles |
|||
|
00
|
|
|
#2 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Et avec le petit s ?
Code :
"/<balise[^>]*>(.*)<\/balise[^>]*>/s" |
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
Il me semble que le petit s est un caractère spécial à mettre dans l'expression, genre #[>]*\s# et qu'il signifie tous les caracteres d'espacement (espace, tab, retour a la ligne)
|
|
|
00
|
|
|
#4 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Non non le modificateur doit être mis à la fin c'est à dire après le / ou #. Tout comme le U et i. Ce qui peut être mis à l'intérieur c'est ^ et $ et les autres directement avec la notation \s .
Mais dans notre cas, il vaut mieux le mettre à la fin vu que l'on ne sait pas où se trouve le retour à la ligne. Voir la source que j'ai donné avec |
|
|
00
|
|
|
#5 | ||
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#6 | |||
![]() ![]() Michaël TodorovicIngénieur systèmes et réseaux Inscription : juillet 2003 Messages : 3 493 ![]() |
un problème disparait pour un autre
![]() dans un autre fichier j'ai Code :
Code :
$pattern = "#<paragraph[^>]*>(.*)</paragraph[^>]*>#s"; Citation:
si vous avez une idée, je la prend
__________________
- Installation et configuration de Exchange 2010 new! - Installation d'Office Communications Server (OCS) 2007 R2 Standard - Présentation de Microsoft Online Services - Installation d'Active Directory sous Windows Server 2008 R2 - Mon blog sur Windows Server, Exchange, OCS et AD | Mes articles |
|||
|
00
|
|
|
#7 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Il doit manquer le flag U ce coup-ci pour que les expressions telles que .+ et .* ne soient pas gourmandes (soit chercher la chaîne la plus courte au lieu de la plus longue).
De plus, utiliser une classe de caractères (même négative) pour signifier l'absence d'une chaîne (au sens plus d'un caractère) est une erreur : il faut utiliser les assertions pour cela (le tutoriel de Yogui est très bien fait sur ce point). Julp. |
|
|
00
|
|
|
#8 |
![]() ![]() Michaël TodorovicIngénieur systèmes et réseaux Inscription : juillet 2003 Messages : 3 493 ![]() |
oui effectivement, c'était le U
problème résolu pour de bon, ça fait bien ce que je veux à vous tous
__________________
- Installation et configuration de Exchange 2010 new! - Installation d'Office Communications Server (OCS) 2007 R2 Standard - Présentation de Microsoft Online Services - Installation d'Active Directory sous Windows Server 2008 R2 - Mon blog sur Windows Server, Exchange, OCS et AD | Mes articles |
|
00
|
Copyright © 2000-2012 - www.developpez.com