Corrispondenza URL utilizzando espressioni regolari di Gruber in PHP
-
19-09-2019 - |
Domanda
come faccio ad ottenere l'espressione regolare menzionato in questo articolo lavorare con preg_match in php?
<?php
preg_match("\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))/i", $text, $matches);
print_r($matches);
?>
Utilizzando il codice qui sopra ottengo il seguente errore:
Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash...
Soluzione
Prova questo:
preg_match("#\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))#i", $text, $matches);
È mancavano i delimitatori regex (di solito /
, ma utilizzando #
qui perché è più conveniente per gli URL)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow