Jump to content


Photo

Identificar Usuario Por Expressão Regular


  • Faça o login para participar
1 reply to this topic

#1 drhouse

drhouse

    Turista

  • Usuários
  • 35 posts
  • Sexo:Não informado

Posted 22/12/2010, 23:57

Olá amigos como seria a expressão regular para validar um usuário que começa com @ e contem em seguida letras e numeros junto, exemplo: @drhouse2

O usuário começa com arroba e somente letras e numeros.

Obrigado desde já a todos.

Montei um codigo que deu certinho so tem um problema se no texto tiver mais de um usuario ele substitui o segundo como primeiro se alquem poder dar uma melhorada neste codigo fico grato desde já.


$texto = "@drhouse2 text text text text text text text @drhouse3.";

preg_match('(@[a-z0-9]{3,15})', $texto, $matches);
														
echo preg_replace('(@[a-z0-9]{3,15})', "<a href='http://site.com/perfil/".substr($matches[0], 1, 15)."/'>".$matches[0]."</a>", $texto);


Resultado:

<a href='http://site.com/perfil/drhouse2/'>@drhouse2</a> text text text text text text text <a href='http://site.com/perfil/drhouse2/'>@drhouse2</a>.

Onde o certo seria:

<a href='http://site.com/perfil/drhouse2/'>@drhouse2</a> text text text text text text text <a href='http://site.com/perfil/drhouse3/'>@drhouse3</a>.

Obrigado novamente.
www.pontoclassificados.com

#2 PHP-Geek

PHP-Geek

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP - Brasil

Posted 23/12/2010, 14:58

Segue:

$texto = "@drhouse2 text text text text text text text @drhouse3.";

echo preg_replace('/@([a-z_0-9]+)/i', "<a href='http://site.com/perfil/$1/'>$1</a>", $texto);

[]s




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq