Ok, ik ben al een tijdje bezig om een nieuwssysteempje wat ik 2 jaar geleden in elkaar gezet heb te verbeteren en uit te breiden. Natuurlijk zitten er de standaard bb-codes in, onder andere om een url te plaatsen. Dit gaat allemaal goed. Nu wil ik ook dat url's zonder de [ url ] bbcode automatisch worden gehyperlinked.
stel, user post deze code:
daar komt dan nu het volgende uit:
Er is dus iets mis met de preg_replace die de url's die nog niet gehyperlinked zijn op het laatst vervangt. Ik heb al gezocht, en verschillende voorbeelden hier gevonden, maar het is telkens nét niet wat ik hebben moet. Op dit moment heb ik de volgende preg_replace om te hyperlinken:
Misschien dat een regex-guru ziet wat er mis is, want ik zit echt al sinds gister naar die regel te staren
edit:
De HTML waar deze regex overheen gaat is dus het volgende:
stel, user post deze code:
code:
1
2
3
| [url=www.google.nl]klik hier![/url] [url]www.google.com[/url] www.google.be |
daar komt dan nu het volgende uit:
code:
1
2
3
| <a href="<a href="http://www.google.nl title="http://www.google.nl">www.google.nl</a> target="_blank">klik hier!</a> <a href="<a href="http://www.google.com title="http://www.google.com">www.google.com</a> target="_blank"><a href="http://www.google.com</a>" title="www.google.com</a>">www.google.com</a> <a href="http://www.google.be" title="www.google.be">www.google.be</a> |
Er is dus iets mis met de preg_replace die de url's die nog niet gehyperlinked zijn op het laatst vervangt. Ik heb al gezocht, en verschillende voorbeelden hier gevonden, maar het is telkens nét niet wat ik hebben moet. Op dit moment heb ik de volgende preg_replace om te hyperlinken:
code:
1
| $message = preg_replace("`(?<!<a href=)((http)+(s)?:(//)|(www\.))((\w|\.|\-|_)+)(/)?(\S+)?`i", "<a href=\"http\\3://\\5\\6\\8\\9\" title=\"\\0\">\\5\\6</a>", $message); |
Misschien dat een regex-guru ziet wat er mis is, want ik zit echt al sinds gister naar die regel te staren
edit:
De HTML waar deze regex overheen gaat is dus het volgende:
code:
1
2
3
| <a href="http://www.google.nl" target="_blank">klik hier!</a> <a href="http://www.google.com" target="_blank">www.google.com</a> www.google.be |
[ Voor 43% gewijzigd door kauwgomballen op 22-06-2005 14:37 ]