|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 918 ![]() |
Bonjour
Je cherche à insérer un saut de page toutes les n lignes dans un tableau existant. J'ai écrit ce code, qui fonctionne très bien pour insérer toutes les 3 lignes, mais pas au-delà : Code :
Code :
$patterns = "#(<tr.+(?<!\?)>.+</tr>.+<tr.+(?<!\?)>.+</tr>.+<tr.+(?<!\?)>.+</tr>.+)<tr(.+(?<!\?)>.+</tr>)#Us"; Merci d'avance Post-scriptum : C'est exactement pareil avec Code :
$patterns = "#(<tr.+(?<!\?)>.+</tr>.+){2}<tr(.+(?<!\?)>.+</tr>)#Us"; |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 797 ![]() |
Salut,
a priori tu peux t'inspirer des fonctions postées ici. Faire ça en une seule regex me semble un peu chaud, peut être en regardant du côté des conditions mais il faudrait pouvoir récupérer directement le nombre d'occurrences dans le pattern, je ne sais pas si c'est possible. Bye |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 797 ![]() |
Ca pourrait donner ca :
Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 918 ![]() |
Merci beaucoup, ça fonctionne bien. C'est un peu sale comparé à la pureté des regex, mais c'est très bien !
Par curiosité, ça ne m'explique pas pourquoi ma regex ne fonctionne pas au-delà de 2 lignes. |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : février 2005 Messages : 1 797 ![]() |
Arf je suis grave j'avais zappé les quantificateurs {} en fait c'est tout simple ça donnerait :
Code :
preg_replace("#((<tr.*</tr>.*){3})<tr(.*</tr>)#Us", "$1<tr style='page-break-after:always' $3", $str); |
|
|
00
|
|
|
#6 | |
|
Membre chevronné
![]() Inscription : janvier 2006 Messages : 918 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com