De volgende code gebruik ik nu om [list] tags om te zetten naar HTML.
Liep als een trein, alleen 1 probleem. Na de <ul> tags kwam een <br /> tag. Dit vond ik niet mooi dus heb ik geprobeerd om dit op te lossen. Na verschillende zaken geprobeerd te hebben kwam ik uiteindelijk bij Ibex die me het volgende voorstelde:
Ok, dat werkte dus. De <br /> tag na de </ul> was weg. Vervolgens wou ik ook de <br /> tag na de <ul> weghalen.
maar dit werkt dus niet.
Ik kom er niet meer uit. Ik staar me er al 4 uur blind op in totaal.
PHP:
1
2
3
4
5
6
7
8
9
10
| $news = preg_replace_callback('/\[list]((([^[]|\\[(?!\/?list))*|(?R))*)\\[\/list]/is', 'ul', $news); function ul($matches) { $content = $matches[1]; // toggle nested list $content = preg_replace('/\[list]((([^[]|\\[(?!\/?list))*|(?R))*)\\[\/list]/is', '<ul>\\1</ul>', $content); return '<ul>'.($content).'</ul>'; } |
Liep als een trein, alleen 1 probleem. Na de <ul> tags kwam een <br /> tag. Dit vond ik niet mooi dus heb ik geprobeerd om dit op te lossen. Na verschillende zaken geprobeerd te hebben kwam ik uiteindelijk bij Ibex die me het volgende voorstelde:
Natuurlijk moest ik dit ook in de functie toepassen zodat de nieuwe code was:Ik denk door (\r\n)+? achter [\/list] te zetten, zodat je de volgende reguliere expressie krijgt: /\[list]((([^[]|\\[(?!\/?list))*|(?R))*)\\[\/list](\r\n)+?/is
PHP:
1
2
3
4
5
6
7
8
9
| $news = preg_replace_callback('/\[list]((([^[]|\\[(?!\/?list))*|(?R))*)\\[\/list](\r\n)+?/is', 'ul', $news); function ul($matches) { $content = $matches[1]; // toggle nested list $content = preg_replace('/\[list]((([^[]|\\[(?!\/?list))*|(?R))*)\\[\/list](\r\n)+?/is', '<ul>\\1</ul>', $content); return '<ul>'.($content).'</ul>'; } |
Ok, dat werkte dus. De <br /> tag na de </ul> was weg. Vervolgens wou ik ook de <br /> tag na de <ul> weghalen.
De nieuwe code werd vervolgens:/\[list](\r\n)+?((([^[]|\\[(?!\/?list))*|(?R))*)\\[\/list](\r\n)+?/is
PHP:
1
2
3
4
5
6
7
8
9
| $news = preg_replace_callback('/\[list](\r\n)+?((([^[]|\\[(?!\/?list))*|(?R))*)\\[\/list](\r\n)+?/is', 'ul', $news); function ul($matches) { $content = $matches[1]; // toggle nested list $content = preg_replace('/\[list](\r\n)+?((([^[]|\\[(?!\/?list))*|(?R))*)\\[\/list](\r\n)+?/is', '<ul>\\1</ul>', $content); return '<ul>'.($content).'</ul>'; } |
maar dit werkt dus niet.
Ik kom er niet meer uit. Ik staar me er al 4 uur blind op in totaal.
"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005