Léo95 1 Denunciar post Postado Outubro 31, 2014 Quando coloca acento não funciona, tipo:#Função - "ção" sai do link <?php function Hashtag($texto){ $texto = preg_replace( "/#([a-z0-9_]+)/i", "<a href=\"extra.lp?action=hashtag&tag=$1\">#$1</a>", $texto); return $texto; } Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Novembro 1, 2014 esse preg_replace ai só pega letras, numeros e underline, pra pegar caracteres especiais, vc pode adicioanr elas ao preg_replace ou fazer algo assim: $texto = 'asdasd fdsf sdf werkwemr, #çaâ sd asd #çaâ' . " "; echo preg_replace( "/#(.*?) /", "<a href=\"extra.lp?action=hashtag&tag=$1\">#$1</a> ", $texto); Pode fazer assim: $texto = explode(' ', 'asdasd fdsf sdf werkwemr, #çaâ sd asd #çaâ'); echo implode(' ', array_map(function($t) { return $t[0] == '#' ? "<a href=\"extra.lp?action=hashtag&tag={$t}\">{$t}</a>" : $t; }, $texto)); Ou se quiser continuar com algo parecido com o seu, use esse (recomendo, mas não sei se vc vai ter problemas futuros): $texto = 'asdasd fdsf sdf werkwemr, #çaâ sd asd #CaçadorNaÁrea'; echo preg_replace('/#(\w+)/u', '<a href=\"extra.lp?action=hashtag&tag=$1\">#$1</a>', $texto); Compartilhar este post Link para o post Compartilhar em outros sites
Dorian Neto 41 Denunciar post Postado Novembro 1, 2014 @Léo95, sugiro você dar uma estudada em expressão regular. Compartilhar este post Link para o post Compartilhar em outros sites