eregi_replace omzetten naar preg_replace i.vm. php7
Maakte eerst gebruik van eregi, maar deze werkt niet meer in PHP7. Bedoeling is om url's (www, http, https), ftp, mailadressen enz om te zetten naar klikbare links. Nu krijg ik helaas foutmeldingen, en kom hier niet uit.
$bericht = eregi_replace("(^|[ \n\r\t])((http(s?)://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $bericht);
$bericht = eregi_replace("(^|[ \n\r\t])((ftp://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $bericht);
$bericht = eregi_replace("([a-z_-][a-z0-9\._-]*@[a-z0-9_-]+(\.[a-z0-9_-]+)+)","<a href=\"mailto:\\1\">\\1</a>", $bericht);
$bericht = eregi_replace("(^|[ \n\r\t])(www\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $bericht);
$bericht = eregi_replace("(^|[ \n\r\t])(ftp\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"ftp://\\2\" target=\"_blank\">\\2</a>", $bericht);
Heb hier van gemaakt:
$bericht = preg_replace("(^|[ \n\r\t])((http(s?)://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $bericht);
$bericht = preg_replace("(^|[ \n\r\t])((ftp://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $bericht);
$bericht = preg_replace("([a-z_-][a-z0-9\._-]*@[a-z0-9_-]+(\.[a-z0-9_-]+)+)","<a href=\"mailto:\\1\">\\1</a>", $bericht);
$bericht = preg_replace("(^|[ \n\r\t])(www\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $bericht);
$bericht = preg_replace("(^|[ \n\r\t])(ftp\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)","\\1<a href=\"ftp://\\2\" target=\"_blank\">\\2</a>", $bericht);
Foutmeldingen:
Warning: preg_replace(): Unknown modifier '(' in /var/www....
Heb al van alles geprobeerd door delimmiters te wijzigen, maar het wordt er niet beter op.
Weet iemand hoe ik dit weer werkend kan krijgen?
Gewijzigd op 03/01/2020 02:37:57 door Nicos Vermeulen
Kun je een voorbeeld geven van het resultaat dat je wil bereiken? Ik bedoel te zeggen wat bedoel je met klikbare links?
En wow, kwam deze site echt vanaf PHP4? Dan heeft die hosting echt onder een hunebedsteen gelegen.
Gewijzigd op 03/01/2020 07:54:17 door - Ariën -
- Ariën - op 03/01/2020 07:52:03:
Je moet nu een afscheiding maken met je eventuele modifier. Zet je pattern bijvoorbeeld tussen / en /
En wow, kwam deze site echt vanaf PHP4? Dan heeft die hosting echt onder een hunebedsteen gelegen.
En wow, kwam deze site echt vanaf PHP4? Dan heeft die hosting echt onder een hunebedsteen gelegen.
Eigenlijk een beetje onze eigen schuld, we hadden al geruime tijd over gekund, maar hebben het iets te lang laten liggen.
Gelukt! Als ik hem tussen hekjes zet gaat het goed. Met / lukt het niet...
$bericht = preg_replace("#(^|[ \n\r\t])((http(s?)://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)#","\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $bericht);
$bericht = preg_replace("#(^|[ \n\r\t])((ftp://)(www\.)?([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)#","\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $bericht);
$bericht = preg_replace("#([a-z_-][a-z0-9\._-]*@[a-z0-9_-]+(\.[a-z0-9_-]+)+)#","<a href=\"mailto:\\1\">\\1</a>", $bericht);
$bericht = preg_replace("#(^|[ \n\r\t])(www\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)#","\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $bericht);
$bericht = preg_replace("#(^|[ \n\r\t])(ftp\.([a-z0-9_-]+(\.[a-z0-9_-]+)+)(/[^/ \n\r]*)*)#","\\1<a href=\"ftp://\\2\" target=\"_blank\">\\2</a>", $bericht);
Gewijzigd op 03/01/2020 13:00:00 door Nicos Vermeulen
Gezien het script al ruim 15 jaar oud zal zijn, raad ik aan om het heel goed door te lichten, en met name op veiligheid. In deze periode is er namelijk al een hoop veranderd.
- Ariën - op 03/01/2020 13:07:17:
Fijn dat het gelukt is.
Gezien het script al ruim 15 jaar oud zal zijn, raad ik aan om het heel goed door te lichten, en met name op veiligheid. In deze periode is er namelijk al een hoop veranderd.
Gezien het script al ruim 15 jaar oud zal zijn, raad ik aan om het heel goed door te lichten, en met name op veiligheid. In deze periode is er namelijk al een hoop veranderd.
Wat zou er qua veiligheid niet goed kunnen zijn? Wij gebruiken dit script om newscontent te voorzien van linkjes. Weinig risico toch? Of zie ik iets over het hoofd?
Een handje vol waar in de jaren 2000 nog niet echt veel naar gekeken werd.
Gewijzigd op 04/01/2020 00:19:13 door - Ariën -
- Ariën - op 04/01/2020 00:18:41:
SQL-injectie, XXS, upload-exploits, sessiekaping, cookie-hijacking, csrf?
Een handje vol waar in de jaren 2000 nog niet echt veel naar gekeken werd.
Een handje vol waar in de jaren 2000 nog niet echt veel naar gekeken werd.
Voor ons dus niet gevaarlijk gezien we de content zelf plaatsen.
Totdat er een inlog in iemand anders zijn handen valt, of een wachtwoord eenvoudig te raden is uit uitgelekte lijsten. Of misschien wel dat iemand met cookies of sessies rommelt, en jouw sessie/cookie via een sluwe wijze bij jouw steelt.
Ik raad aan om hier niet te makkelijk over te denken. Als je op sites zoals Tweakers.net en Security.nl de nieuwsberichten leest blijkt maar weer hoe oplettend we moeten blijven zijn in 2020. Vooral SQL-injection is belangrijk, je wilt ook niet dat je zelf je query stuk manipuleert met een quote, zoals in 's Hertogenbosch of dat iemand er misbruik van maakt.
Gewijzigd op 06/01/2020 23:36:19 door - Ariën -
Nicos Vermeulen op 06/01/2020 23:25:23:
Voor ons dus niet gevaarlijk gezien we de content zelf plaatsen.
En ook de enige die deze content lezen?
Het gaat niet alleen om het plaatsen van content, maar ook om het weer ophalen van die content (page.php?id=123'"<). Denk in ieder geval ook aan een login-scherm, enz.