$str = preg_replace( "#<a href=\"(.+?)\">(.+?)</a>#is","<a href=\"$2\" target=\"_blank\">AAAA</a>", $str);
no lugar de AAAA queria que aparecesse ate o 20º caractere do link....
to tenando usar "substr" so que nao to conseguindo
Posted 15/07/2006, 11:31
$str = preg_replace( "#<a href=\"(.+?)\">(.+?)</a>#is","<a href=\"$2\" target=\"_blank\">AAAA</a>", $str);
Posted 15/07/2006, 12:22
<?php $str = '<a href="http://forum.wmonline.com.br/">WebFórum - O FÓRUM DOS WEBMASTERS</a>'; $str = preg_replace('#<a href="(.+?)">(.+?)</a>#ise', "'<a href=\"$2\" target=\"_blank\">' . substr('\\2', 0, 20) . '</a>'", $str); print $str; ?>[]’s
Posted 15/07/2006, 12:31
Posted 15/07/2006, 12:45
São os modificadores ... no manual tu não encontra a explicação deles em português. Pensando nisso, nosso grande amigo Eclesiastes traduziu-os para nós: eclesiastes.zoone.com.br/pcrecara eu te amo!!!
so me explica umas coisas...
depois do # vc usou " ise"
onde eu acho as configuracoes respectivas desses caracteres?
e nessa segunda parte ae tambem...
"'<a href=\"$2\" target=\"_blank\">' . substr('\\2', 0, 20) . '</a>'"
eu nao intendi como o php vai interpretar isso ae nao... se podesse explicar ia agradecer...
Posted 15/07/2006, 12:50
Posted 16/07/2006, 00:30
O \\2 é o que dizemos retrovisor. Ele é uma referência ao valor do segundo grupo da ER, aquele que pega o conteúdo entre <a...> e </a>. Ele precisa ficar entre aspas pois é uma variável. Aspas simples porque o conteúdo deste parâmetro precisar estar entre aspas duplas pra poder ser avaliado.o negocio é deixar o \\2 entre aspas simples porque se nao entra naquela regra do php que nao pode existir variavel começando com numeros ne?
de qualquer forma, muito obrigado
Posted 16/07/2006, 10:05
$str = preg_replace('#<a href="(.+?)"(.+?)>(.+?)</a>#ise', "'<a href=\"$1\" target=\"_blank\">' . substr('$3', 0, 50) . '</a>'", $str);agora, ta vendo o segundo " (.+?) " ?
Posted 16/07/2006, 10:20
(?:ER)
É como um grupo normal () só que não é guardado nem incluído na contagem de grupos, ou seja, não é acessível com retrovisores ou $1, pode ser considerado um grupo fantasma. Assim ^(Homer) (?:J\.) (Simpson) casa o nome completo, mas \1 e \2 contém Homer e Simpson, respectivamente.
// 2.76 seconds to run 50000 times
preg_replace("/\{(.*?)\}/e","a('\\1','\\2','\\3',\$",$a);
// 0.97 seconds to run 50000 times
preg_replace_callback("/\{(.*?)\}/s","a",$a);
Posted 16/07/2006, 10:34
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)