Acredito que todo programador teve ou ainda têm dificuldades com este assunto ER. As expressões regulares possuem diversas funcionalidades, com ela você pode localizar e filtrar qualquer tipo de conteúdo dentro de uma string.
Neste artigo darei um exemplo bem simples de ER para vocês começarem a entender como funciona este negócio.
Digamos que você têm um URL com a seguinte string: http://www.bestvideos.com/video821389/this-is-the-best. Neste exemplo eu quero filtrar apenas o ID do vídeo que é este com negrito abaixo:
http://www.bestvideos.com/video821389/this-is-the-best
OK, vamos criar um pequeno algoritmo para filtrar o ID siga o exemplo abaixo:
function getPatternFromVideos($url){ $url = $url.'&'; $pattern = '#\/video(.*?)\/#'; preg_match($pattern, $url, $matches); //echo $matches[1]; die; return ($matches[1]); }Agora vamos explicar como funciona a função Na linha onde especificamos a variavél $pattern está descrito nossa expressão regular onde #\/video(.*?)\/# estou informando ao preg_match me retornar o primeiro valor encontrado que esteja entre /videoXXXX e antes da primeira barra que é nosso delimitador que vêm depois do ID do vídeo. A aplicação ficaria assim:
function getPatternFromVideos($url){ $url = $url.'&'; $pattern = '#\/video(.*?)\/#'; preg_match($pattern, $url, $matches); //echo $matches[1]; die; return ($matches[1]); } $destination="http://www.bestvideos.com/video821389/this-is-the-best"; $videoID=getPatternFromXvideos($destination); echo "$videoID";O retorno será algo como: 821389 o ID no qual estavamos procurando. Parece um pouco complicado não mas ER é prática e muito estudo. Até
Seja Membro Gratuítamente
Assine a newsletter para receber em seu email as publicações atualizadas neste blog