Usando expressões regulares no PHP com preg_match

  • Post author:
  • Post category:Sem categoria

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é