Ir para conteúdo
Fórum Script Brasil
  • 0

Criar Uma Tag Pra Inserir Imagem


§tRuTe®

Pergunta

ow....então não é?....

quais as funcoes necessarias, pra criar algo do tipo?

tipo...

se eu digitar em uma campo de texto la, [img link=/fig.jpg] ...

e fazer com q o php interprete isso como <img src="fig.jpg">

como q eu faco isso?

como q é mais ou menos essa logica? e a funcoes q se usa pra eu da uma estudada nela..?

vlw ........falow!!!!!!

Link para o comentário
Compartilhar em outros sites

23 respostass a esta questão

Posts Recomendados

  • 0

Vixi cara, voce tocou num ponto dificil tongue.gif

hehehe

voce pode usar o bbcode... ele tem em varios lugares... vou postar um exemplo..

testando_bbcode.php

<?

function bbCode($texto){

    $tagArray['img'] = array('open'=>'<img src="','close'=>'">');
    $tagArray['b'] = array('open'=>'<b>','close'=>'</b>');
    $tagArray['i'] = array('open'=>'<i>','close'=>'</i>');
    $tagArray['u'] = array('open'=>'<u>','close'=>'</u>');
    $tagArray['p'] = array('open'=>'<p>','close'=>'</p>');
    $tagArray['center'] = array('open'=>'<p align=center>','close'=>'</p>');
    $tagArray['left'] = array('open'=>'<p align=left>','close'=>'</p>');
    $tagArray['right'] = array('open'=>'<p align=right>','close'=>'</p>');
    $tagArray['code'] = array('open'=>'<table border="0" width="100%"><tr><td bgcolor="#F9F9F9" style="border: 1 solid #000000"><font color="#003366">','close'=>'</font></td></tr></table>');
    $tagArray['quote'] = array('open'=>'<blockquote>','close'=>'</blockquote>');
    $tagArray['url'] = array('open'=>'<a href="','close'=>'" target=_blank>\\1</a>');
    $tagArray['email'] = array('open'=>'<a href="mailto:','close'=>'">\\1</a>');
    $tagArray['url=(.*)'] = array('open'=>'<a href="','close'=>'" target=_blank>\\2</a>');
    $tagArray['email=(.*)'] = array('open'=>'<a href="mailto:','close'=>'">\\2</a>');
    $tagArray['color=(.*)'] = array('open'=>'<font color="','close'=>'">\\2</font>');
    $tagArray['size=(.*)'] = array('open'=>'<font size="','close'=>'">\\2</font>');
    $tagArray['font=(.*)'] = array('open'=>'<font face="','close'=>'">\\2</font>');

    $sTagArray['br'] = array('tag'=>'<br>');
    $sTagArray['hr'] = array('tag'=>'<hr>');

   foreach($tagArray as $tagName=>$replace){
        $tagEnd=preg_replace('/\W/Ui','',$tagName);
        $texto = preg_replace("|\[$tagName\](.*)\[/$tagEnd\]|Ui","$replace[open]\\1$replace[close]",$texto);
   }
   foreach($sTagArray as $tagName=>$replace){
        $texto= preg_replace("|\[$tagName\]|Ui","$replace[tag]",$texto);
}
   return $texto;
}

?>
agora faz um form:
<form method="POST" action="testando_bbcode.php">
  <p><textarea rows="10" name="texto" cols="39"></textarea></p>
  <p><input type="submit" value="Submeter" name="B1"><input type="reset" value="Redefinir" name="B2"></p>
</form>
por ultimo por para aparecer:
<?

echo bbCode($texto);

<br>

echo 'by redneck :P';

?>

é isso

tenta

falo

Link para o comentário
Compartilhar em outros sites

  • 0

/* O Struder num entendi sad.gif

se que fazer o que afinal se vai por acaso cadastrar uma imagem e que o php interprete o caminho é isso ?

bom sei lá ... caso seja

no text seria isso

[teste.jpg] [envia] o name seria name=foto

interpretando

<img src="<?   echo 'imagens/ ' . $foto; ? >"

o php interpreta e da a saida para

<img src ="imagens/teste.jpg">

sei lá talvez num seja nem isso + tai

*/

Link para o comentário
Compartilhar em outros sites

  • 0

vish maria!!!!!!!!

não entendi nada do script la!!!!!

heheheehhehehe....mas de boa......

..

então ow....vlw mesmo redneck, mas tipo, eu não entendi seu script....

com q ele funciona nesse caso?

pra eu colocar a figura, eu tentei colocar um [img src=foto.pg] mas ele apenas me retornou isso mesmo na tela....

ae eu tentei ler o script pra entender............hehe...não adianto muito coisa não é?........

como q é então?

hehe....e vlw tb gladiador......mas desse jeito ae, como q o php ia interpretar a suposta tag criada pra inserir a img no meio do texto?

vlw....falow!!!

ah...e tb.....

tem como vocês me falarem sobre esse bbCode, porque eu procurei sobre ele no manual e num achei nada não ow...

vlw...falow!!!!

Editado por §tRuTe®
Link para o comentário
Compartilhar em outros sites

  • 0

então ow....vlw mesmo redneck, mas tipo, eu não entendi seu script....

com q ele funciona nesse caso?

pra eu colocar a figura, eu tentei colocar um [img src=foto.pg] mas ele apenas me retornou isso mesmo na tela....

ae eu tentei ler o script pra entender............hehe...não adianto muito coisa não é?........

heheh sabe no que você estava errando §tRuTe®?

é que a tag não é:

[img src=img.gif]
e sim:
[img=img.gif]
hehhe, acontece ! tongue.gif mais eu botei o script mais simples, tem uns muito mais complexos, é simples cara tente entender:
$tagArray['img'] = array('open'=>'<img src="','close'=>'">');

significa o que? $tagarray é a array open é quando abrir a tag [ img ] e close é para quando fechar a tag [ /img ].. está bem simples cara, leia com atencao voce ira entender...

Valeu rEd nEcK *, vai ser muito útil pra mim também!!!

estamos ae para isso

hehehe

abracos

Link para o comentário
Compartilhar em outros sites

  • 0

ueh...eu to tentanu aqui tb...

logo.jpg

e tb não funcionou.....ele imprimiu na tela ]img=logo.jpg] ao em vez da img.....

ae eu tava testaniu as otras e funcionaru...menos essa.........porque?

ta errado ainda o jeito q eu coloquei???

vlw...falow!!!

Link para o comentário
Compartilhar em outros sites

  • 0

ahhhhh!!

hehehe..agora funcionou sim .....vlw ae redneck!!!

ah...e quem tiver um tempo, pra me explicar sobre esse bbCode.....explica ae please.....

q eu procurei n ophp.net e não achei nada sobre ele....

vlw ae...

falow!!!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0
como assim troca de dados????

vlw...falow!!!!

troca de dados ueh...

ele quis dizer que quando voce por

[ img ] o php tera que ler como <img src='' e quando por [ /img ] o php tera que ler como >

somente isso nada mais

por isso repito

php é so prestar atencao

fui

Link para o comentário
Compartilhar em outros sites

  • 0

hehe, mas qual a funcao do bbCode?

porque ali, não se eu estou certo, mas quem fez essa troca de dados, não foi o preg_replace ????

isso q eu não to entendenu................................hehe

vlw...falow!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

ah....vlw ae então....

eu cabei usanu esse script sem entender ele.......hehe

eu to danu uma lida num bagui aqui de expressoes regulares......num sei.....mas me pareceu q foi isso q fez a maior parte nesse script ae com o preg_replace........

vlw ae...falow!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

vo posta outro exemplo:

testando_bbcode2.php

<?php 

function bbcode($bbcode) 
{ 

    $bbcode = str_replace('&lt;','&amp;lt;',$bbcode); 
    $bbcode = str_replace('&gt;','&amp;gt;',$bbcode); 
    $bbcode = str_replace('<','&lt;',$bbcode); 
    $bbcode = str_replace('>','&gt;',$bbcode); 
    $bbcode = nl2br($bbcode); 

        $searcharray = array( 
          "/(\[)(list)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/list)(((=)(\\4)([^\"']*)(\\4]))|(\]))/siU", 
          "/(\[)(list)(])(.*)(\[\/list\])/siU", 
          "/(\[\*\])/siU", 
          "/(\[)(url)(=)(['\"]?)(www\.)([^\"']*)(\\4)(.*)(\[\/url\])/siU", 
          "/(\[)(url)(=)(['\"]?)([^\"']*)(\\4])(.*)(\[\/url\])/siU", 
          "/(\[)(url)(])(www\.)([^\"]*)(\[\/url\])/siU", 
          "/(\[)(url)(])([^\"]*)(\[\/url\])/siU", 
          "/(\[)(b)(])(\r\n)*(.*)(\[\/b\])/siU", 
          "/(\[)(u)(])(\r\n)*(.*)(\[\/u\])/siU", 
          "/(\[)(i)(])(\r\n)*(.*)(\[\/i\])/siU", 
          "/(\[)(php)(])(\r\n)*(.*)(\[\/php\])/siU", 
          "/(\[)(code)(])(\r\n)*(.*)(\[\/code\])/siU", 
          "/(\[)(pre)(])(\r\n)*(.*)(\[\/pre\])/siU", 
          "/javascript:/si", 
          "/about:/si" 
        ); //'" 

        $replacearray = array( 
          "<ol type=\"\\5\">\\7</ol>", 
          "<ul>\\4</ul>", 
          "<li>", 
    "<br>",
          "<a href=\"http://www.\\6\" target=\"_blank\">\\8</a>", 
          "<a href=\"\\5\" target=\"_blank\">\\7</a>", 
          "<a href=\"http://www.\\5\" target=\"_blank\">\\5</a>", 
          "<a href=\"\\4\" target=\"_blank\">\\4</a>", 
          "<b>\\5</b>", 
          "<u>\\5</u>", 
          "<i>\\5</i>",
          "<blockquote><pre>código:<hr noshade>\\5<hr noshade></pre></blockquote>", 
          "<blockquote><pre>código:<hr noshade>\\5<hr noshade></pre></blockquote>", 
          "<pre>código:\\5</pre>", 
          "java script:", 
          "about :" 
        ); 

    $bbcode = preg_replace($searcharray, $replacearray, $bbcode); 
    $bbcode = preg_replace("/(\[)(img)(])(\r\n)*([^\"]*)(\[\/img\])/siU", "<img src=\"\\5\" border=\"0\" alt=\"\">", $bbcode); 
    //$bbcode = preg_replace("/(\[)(img)(])(\r\n)*([^\"]*)(\[\/img\])/siU", "<a href=\"\\5\" target=\"_blank\">\\5</a>", $bbcode); 
    $bbcode = str_replace("\\'", "'", $bbcode); 
    $bbcode = str_replace('<br />','<br>', $bbcode); 
     
    $codebits = explode('<blockquote><pre>código:<hr noshade>',$bbcode); 
    list($key,$bbcode) = each($codebits); 
    while (list($key,$val) = each($codebits)) 
    { 
        $sbbits = explode('<hr noshade></pre></blockquote>',$val); 
        $newbits = str_replace('<br>','', $sbbits[0]).'<hr noshade></pre></blockquote>'.$sbbits[1]; 
        $bbcode .= '<blockquote><pre>código:<hr noshade>'.$newbits; 
    } 
    $codebits = explode('<pre>código:',$bbcode); 
    list($key,$bbcode) = each($codebits); 
    while (list($key,$val) = each($codebits)) 
    { 
        $sbbits = explode('</pre>',$val); 
        $newbits = str_replace('<br>','', $sbbits[0]).'</pre>'.$sbbits[1]; 
        $bbcode .= '<pre>código:'.$newbits; 
    } 
    return $bbcode; 
} 

?>

<form method="POST" action="testando_bbcode2.php">
  <p><textarea rows="10" name="texto" cols="39"></textarea></p>
  <p><input type="submit" value="Submeter" name="B1"><input type="reset" value="Redefinir" name="B2"></p>
</form>

<?

echo bbcode($texto);

?>

viu?

esse é mais complexo

viu???

ele não usa nada de preg_replace!

cara depende muito do script, mais realmente aconselho voce a usar aquele outro, esse é bem mais complexo, e mais dificil..

fui

Link para o comentário
Compartilhar em outros sites

  • 0

hehe...continuo sem entender......c falo q ele não usa nada de pre_replace não é?...

mas olha esass linhas ae

$bbcode = preg_replace($searcharray, $replacearray, $bbcode);

  $bbcode = preg_replace("/(\[)(img)(])(\r\n)*([^\"]*)(\[\/img\])/siU", "<img src=\"\\5\" border=\"0\" alt=\"\">", $bbcode);

  //$bbcode = preg_replace("/(\[)(img)(])(\r\n)*([^\"]*)(\[\/img\])/siU", "<a href=\"\\5\" target=\"_blank\">\\5</a>", $bbcode);

  $bbcode = str_replace("\\'", "'", $bbcode);

  $bbcode = str_replace('<br />','<br>', $bbcode);

ele usou o preg e o str replace.............

ae q eu não entendo........se ele usa o esas duas funcoes pra subtituir as tags.......pra q serve o bbCode????

vlw...falow!!!

Link para o comentário
Compartilhar em outros sites

  • 0

realmente eu falei coisa errada, mal

mais assim...

ele usa essas funcoes se não invez de aparecer assim:

aaaaaaa
apareceria assim:
<a href=teste target=_blank>aaaaaaaaaaaa</a>
enfim, a pagina iria interpretar como codigo dela ae iria nesse caso por um link para teste... no meu script eu estou usando htmlspecialchars , stripslashes e nl2br:
  $string = htmlspecialchars($string); 
  $string = nl2br($string); 
  $string = stripslashes($string);

se eu não usasse isso e voce postasse um codigo ele iria interpretar como codigo da pagina, ae iria ficar mo "zona" entendeu mais ou menos?

é isso cara

falo

fui

Link para o comentário
Compartilhar em outros sites

  • 0

agora eu entendi...

tipo...o q eu tava mais confuso...era sobre o bbCode, não pelas funcoes dentro dele...

e sim, porque eu tava pensanu q o bbCode, era uma funcao do PHP....e não uma funcao criada ali em cima........function bbCode.........hehehhehe

vlw ae..............falow!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Naooo naoo

hehehe não existe a funcao bbcode tongue.gif

pelo menos eu acho que não

todos os exemplos que vi sobre bbcode "fizeram suas proprias funcioes"

com o tanto que tinha um exemplo que era:

function parseCODE

tongue.gif

bom o que interessa é que voce entendeu

sem mais

falo

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...