Matching url usando regex de Gruber em PHP
-
19-09-2019 - |
Pergunta
como faço para obter a regex mencionado neste artigo trabalhar com preg_match em php?
<?php
preg_match("\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))/i", $text, $matches);
print_r($matches);
?>
Usando o código acima eu recebo o seguinte erro:
Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash...
Solução
Tente isto:
preg_match("#\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))#i", $text, $matches);
Você estava faltando os delimitadores regex (geralmente /
, mas usando #
aqui porque é mais conveniente para URLs)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow