Niet echt een probleem, maar iets waar ik tegenaan liep en me wat verbaasde. Ik was namelijk bezig om voor Invision Power Board 2.3 (forumsoftware) een fix te maken die eventuele enters die een gebruiker in een tabellen-BBcode gebruikt weg te poetsen. Dat zou Invision zelf moeten doen, maar dat gebeurt dus niet. Om e.e.a. wel weer prettig leesbaar te houden als iemand quote of een bericht wijzigt, wilde ik zorgen dat aan het eind van een tabelrij dan automatisch een linebreak komt. Ofwel, als iemand dit bericht heeft:
***
***
Moet dat er bij het wijzigen weer zo uitzien:
Daarom had ik de volgende regex toegevoegd:
Dat werkte niet goed, in plaats van een linebreak kwam er gewoon een "n" (zonder slash) te staan. Maakte ik er dit van:
Double quotes dus in de replacement. En dat werkte wel. Goed om te weten natuurlijk, maar wat ik me nu vooral afvraag: hoe komt dat, en bij welke dingen moet ik nog meer opletten?
***
A1 | B1 | C1 |
A2 | B2 | C2 |
***
Moet dat er bij het wijzigen weer zo uitzien:
code:
1
2
3
4
| [table] [tr][td]A1[/td][td]B1[/td][td]C1[/td][/tr] [tr][td]A2[/td][td]B2[/td][td]C2[/td][/tr] [/table] |
Daarom had ik de volgende regex toegevoegd:
PHP:
1
| $txt = preg_replace('#\<tr class="bbc"\>(.+?)\</tr>#is', '[tr]$1[/tr]\n', $txt); |
Dat werkte niet goed, in plaats van een linebreak kwam er gewoon een "n" (zonder slash) te staan. Maakte ik er dit van:
PHP:
1
| $txt = preg_replace('#\<tr class="bbc"\>(.+?)\</tr>#is', "[tr]$1[/tr]\n", $txt); |
Double quotes dus in de replacement. En dat werkte wel. Goed om te weten natuurlijk, maar wat ik me nu vooral afvraag: hoe komt dat, en bij welke dingen moet ik nog meer opletten?
Tjolk is lekker. overal en altijd.