Jump to content


Photo

Criar Link A Partir De Uma Tag [url]


  • Faça o login para participar
4 replies to this topic

#1 Mandrake

Mandrake

    Normal

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

Posted 14/02/2007, 20:34

Olá, pessoal!

Já faz um bom tempo que eu tento criar botões para formatação de texto como esses do Fórum (bold, italic, underline, etc). Hoje, porém, consegui finalmente implementá-los.

Até aqui tudo bem. O problema surge quando eu crio um botão de link, que faça aparecer, por exemplo:

[url=http://www.meusite.com]Meu Website[url]

No caso do bold, basta eu ir no meu código PHP e usar

$texto = str_replace([b],<b>,$texto);

Só que não consigo imaginar como vou usar o str_replace para substituir [url] por <a href="linkqueeuquero">.

* Trocar [url] por <a> eu sei.
"O cadáver é que é o produto final. Nós somos apenas a matéria-prima." Millôr Fernandes

#2 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 14/02/2007, 20:40

User "Expressão Regular" :assobio: "pequena criança!" :D

<?php
$texts = preg_replace(
 array(
  "/\[b\](.+?)\[\/b\]/is", 
  "/\[i\](.+?)\[\/i\]/is", 
  "/\[u\](.+?)\[\/u\]/is"
  "/\[url=(.+?)\](.+?)\[\/url\]/is"
 ),
 
 array(
 "<b>\\1</b>", 
 "<i>\\1</i>", 
 "<u>\\1</u>"
 "<a href=\"\\1\" target=\"_blank\"><u>\\2</u></a>"
 ), 

$textos);

// Exibe tudo Modificado
echo $texts;
?>


#3 Mandrake

Mandrake

    Normal

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

Posted 14/02/2007, 20:48

Seria legal se vc pudesse explicar melhor o que cada comando faz, fiquei meio "boiando". Eu entendi, mas ao mesmo tempo não entendi. :unsure:

O que seria essa \\1 e \\2?

Desculpe perguntar, mas é que faz muito tempo que não mexo em PHP. :wacko:


Consegui ajeitar! MUITO OBRIGADO, rpz. Eu não sabia da existência dessa maravilhosa função preg_replace... :lol:

Edição feita por: Mandrake, 14/02/2007, 21:00.

"O cadáver é que é o produto final. Nós somos apenas a matéria-prima." Millôr Fernandes

#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 15/02/2007, 07:10

Acho que o que mais valeu o aprendizado ai não foi nem a função preg_replace() e sim as expressões regulares.

Aqui o melhor guia na minha opinião sobre Expressões Regulares.

http://guia-er.sourceforge.net/

Bons estudos! (y)

Flws...
(ok2)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 15/02/2007, 13:41

Realmente o importante é a "Expressão Regular", que é o Criterio que a função irá usar para formatar seus textos, tendo em vista que há outras funções que a usam e não é a "preg_replace" que faz esse milagre :assobio:

Edição feita por: sk15, 15/02/2007, 13:42.





1 user(s) are reading this topic

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

IPB Skin By Virteq