ik heb net een preg_pelace gemaakt welke een woord kan zoeken in een stuk tekst en deze kan vervangen door de output van een functie, niks nieuws onder de zon.
Nu heb ik er 2 clausules aan toegevoegd zodat hij niet allerlei tags (<br>) gaat replacen (als je dus br zou gaat vervangen. en hij moet woorden die al een link zijn overslaan (<a href=blaat.php>Woord</a>
nu gebruik ik volgende preg_replace:
Allemaal prachtig, de code werkt heel aardig,
Stukken tekst lopen goed door en alle voorkomens van $word worden verangen door het voorkomen (ivm hoofdletters), tags die <$word> laat hij staan en ook voorkomens van $word die al <a*>* </a> om zich heen hebben worden genegeerd.
Nu dacht ik voor de gein even een stukje tekst erin te proppen om te laten zien hoe cool het werkt, dus ik voer de volgende tekst in:
Test moet hij vervangen.
En Bang, hele ding op z'n bek.
krijg allemaal errors, waaronder :
Nu heb ik een en ander geprobeerd n kwam ik er achter dat de term (echt wel) de error triggerd, alleen ik heb geen idee waarom en hoe.
Als iemand wel waar dit probleem zich in mijn patern ophoud, zou ik dit graag van hem/haar willen horen
Kortom voor alle preg_replacers onder ons een echte puzzel.
Bij voorbaat dank, voor alle aandacht en de eventuele oplossing.
Nu heb ik er 2 clausules aan toegevoegd zodat hij niet allerlei tags (<br>) gaat replacen (als je dus br zou gaat vervangen. en hij moet woorden die al een link zijn overslaan (<a href=blaat.php>Woord</a>
nu gebruik ik volgende preg_replace:
PHP:
1
2
3
| $string=preg_replace("|(\b$word\b)(?![^<a]*>*<\/a>)(?![^<]*>)|ie", "addlink($1,$id)", $string); |
Allemaal prachtig, de code werkt heel aardig,
Stukken tekst lopen goed door en alle voorkomens van $word worden verangen door het voorkomen (ivm hoofdletters), tags die <$word> laat hij staan en ook voorkomens van $word die al <a*>* </a> om zich heen hebben worden genegeerd.
Nu dacht ik voor de gein even een stukje tekst erin te proppen om te laten zien hoe cool het werkt, dus ik voer de volgende tekst in:
code:
1
| test, alles werkt echt wel goed |
Test moet hij vervangen.
En Bang, hele ding op z'n bek.
krijg allemaal errors, waaronder :
code:
1
| Parse error: parse error, unexpected T_STRING in D:\sites\addwords\partners\runscan.php(59) : regexp code on line 1 |
Nu heb ik een en ander geprobeerd n kwam ik er achter dat de term (echt wel) de error triggerd, alleen ik heb geen idee waarom en hoe.
Als iemand wel waar dit probleem zich in mijn patern ophoud, zou ik dit graag van hem/haar willen horen
Kortom voor alle preg_replacers onder ons een echte puzzel.
Bij voorbaat dank, voor alle aandacht en de eventuele oplossing.
[ Voor 5% gewijzigd door killercow op 07-10-2003 16:19 ]
openkat.nl al gezien?