Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, estou desenvolvendo um função bbcode para formatar meu blog. Só que estou com algumas dúvidas: Como posso criar uma ER que pegue os comentários html (<!--comentario-->) e os comentários javascript ( // ) e colocar um <span> antes dessess comentários? Abaixo tem uma ER que fiz para pegar os comentários do CSS e inserir um span (funciona): [inline] $text = preg_replace("/(\/\)(.+?)(\\/)/",'<span class="cmt">/$2/</span>',$text). [/inline] Para os outros comentários (html) tentei algo assim: [inline] $text = preg_replace("/(\<\!\-\-)(.+?)(\-\-\>)/",'<span class="cmt"><!--$2--></span>',$text). [/inline] Mas não deu certo:/ Alguém tem alguma sugestão?
Testei aqui mas não funcionou William, será que tem alguma coisa de errada na minha função?
[inline]
function BBCode($text) {
$text=preg_replace("/(\r\n|\n|\r)/", "<br>", $text);
$text=preg_replace("/(\r\t|\t|\r)/", " ", $text);
$text = preg_replace("(\
> (.+?)\[\/quote])is",'<span class="quote">"$1"</span>',$text);
$text = preg_replace("/(\/\*)(.+?)(\*\/)/",'<span class="cmt">/*$2*/</span>',$text);
$text = preg_replace("(\(.+?)\[\/code])is",'<div class="code"><pre><code>$1</code></pre></div><p class="descricao-postagem">',$text);
$text = preg_replace("(\**(.+?)\**)is",'<b>$1</b>',$text);
return $text;
}
[/inline]
Como vc testou ?
eu visualizei o código fonte e está certinho no meu código.
>
Como vc testou ?
eu visualizei o código fonte e está certinho no meu código.
Apenas assim: [inline]<?php echo BBCode($exibir['conteudo_post']) ?>[/inline];
Esse: [inline]$exibir['conteudo_post'][/inline]
estou puxando do meu banco de dados.
Nessa função q vc postou, não tem a linha que eu escrevi.
MInha função está assim:
[inline]
function BBCode($text) {
$text = preg_replace("/<!--([^>]+)>/",'<span class="cmt"><!--$1></span>',$text);
return $text;
}[/inline]
Aí eu chamo ela aqui
[inline]<?php echo BBCode($exibir['conteudo_post']) ?>[/inline]
Tem alguma ideia do porque estar dando erro?
depende do que vc chama de erro.. oq está acontecendo ai ?
acabei de executar e está tudo correto:
<?php
$text = '
<!-- ahuhauhauhau -->
haushduahusdas
<!-- ahuhauhauhau --> bal huahus
huashuahsuas';
function BBCode($text) {
$text = preg_replace("/<!--([^>]+)>/",'<span class="cmt"><!--$1></span>',$text);
return $text;
}
echo BBCode($text);vc não está vendo com o inspector não ne?! (veja direto no código fonte, pois é um comentário)
William quando eu testo dessa maneira que você fez funciona, mas quando eu testo com valores puxados do banco de dados não acontece nada!
William quando eu testo dessa maneira que você fez funciona, mas quando eu testo com valores puxados do banco de dados não acontece nada!
Posta um desses valores puxados do banco.
<?php
$text = '
<!-- ahuhauhauhau -->
haushduahusdas
<!-- ahuhauhauhau --> bal huahus