Ik heb de volgende string:
$text = 'asdasd asd asd [kop1]beheersbaarheid test[/kop1]Brand, Inbraak[kop1]Het dienstenpakket van [/kop1]De groep heeft alle test kennis
In deze string moeten alle woorden "test" vervangen worden door een link naar www.test.nl. Dit kan heel makkelijk met een simpele replace alleen wordt dan ook "test" binnen de [kop1][/kop1] tags vervangen en dat is juist niet de bedoeling.
Nu pak ik met deze preg_match_all alle gewone tekst en alle tekst tussen de [kop1][/kop1] tags eruit en zet deze in een array. Daarna een replace erover en weer in de juiste volgorde plakken. Dit gaat allemaal goed maar nu het probleem:
Het laatste stuk tekst na de [kop1][/kop1] tags wordt niet meegenomen in de array. Dit heb ik gebruikt.
Verder heb ik geprobeerd alle tekst met (.+?) af te vangen met /is aan het eind ipv /U. Dit werkte ook niet, hier ook weer hetzelfde probleem.
Wie kan me iets in de goede richting helpen
$text = 'asdasd asd asd [kop1]beheersbaarheid test[/kop1]Brand, Inbraak[kop1]Het dienstenpakket van [/kop1]De groep heeft alle test kennis
In deze string moeten alle woorden "test" vervangen worden door een link naar www.test.nl. Dit kan heel makkelijk met een simpele replace alleen wordt dan ook "test" binnen de [kop1][/kop1] tags vervangen en dat is juist niet de bedoeling.
Nu pak ik met deze preg_match_all alle gewone tekst en alle tekst tussen de [kop1][/kop1] tags eruit en zet deze in een array. Daarna een replace erover en weer in de juiste volgorde plakken. Dit gaat allemaal goed maar nu het probleem:
Het laatste stuk tekst na de [kop1][/kop1] tags wordt niet meegenomen in de array. Dit heb ik gebruikt.
PHP:
4
| preg_match_all("/(.*)(\\[kop1\].*\\[\/kop1\])(.*)/U", $text, $array, PREG_PATTERN_ORDER); |
Verder heb ik geprobeerd alle tekst met (.+?) af te vangen met /is aan het eind ipv /U. Dit werkte ook niet, hier ook weer hetzelfde probleem.
Wie kan me iets in de goede richting helpen