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

Ereg_replace


§tRuTe®

Pergunta

olhem isso........o q q tem de errado com esse script?

era pra ele simplesmente interpretar as tags

[b] e [/b] 
em <b></b>...........q nem esse do invision....não quero nada complicado cheio de funcoes não....bbCode.........rs.......apenas queria aprender a fazer isso....mas num to conseguinu........
<?php
$texto="dsfghjdhjkfghj45SG[b]35df456[/b]uhgYGYU345";
$mod=ereg_replace("(.*)(\[b\])([A-Za-z0-9].*)(\[/b\])([A-Za-z0-9].*)","\\2<b>\\4</b>", $texto);
echo $mod;

?>

nocaso acima, era pro 35df456 ficar em nagrito certo?

mas não ficou.....

quando o $mod é mostrado na tela......ele mostra as duas tags com [], a abrinu o negrito, e a fechando o negrito.....mas não retorna o texto q eu quero em negrito......................rs................porque?????????????????

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

eu só não usei o preg_replace............rs.....porque eu não achei nada sobre ele em BR...porque no php.net ta em ingles a documentacao sobre ele..........

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

olhem isso........o q q tem de errado com esse script?

era pra ele simplesmente interpretar as tags

[b] e [/b] 
em <b></b>...........q nem esse do invision....não quero nada complicado cheio de funcoes não....bbCode.........rs.......apenas queria aprender a fazer isso....mas num to conseguinu........
<?php
$texto="dsfghjdhjkfghj45SG[b]35df456[/b]uhgYGYU345";
$mod=ereg_replace("(.*)(\[b\])([A-Za-z0-9].*)(\[/b\])([A-Za-z0-9].*)","\\2<b>\\4</b>", $texto);
echo $mod;

?>

nocaso acima, era pro 35df456 ficar em nagrito certo?

mas não ficou.....

quando o $mod é mostrado na tela......ele mostra as duas tags com [], a abrinu o negrito, e a fechando o negrito.....mas não retorna o texto q eu quero em negrito......................rs................porque?????????????????

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

eu só não usei o preg_replace............rs.....porque eu não achei nada sobre ele em BR...porque no php.net ta em ingles a documentacao sobre ele..........

Link para o comentário
Compartilhar em outros sites

  • 0

tongue.gif

voce quer mesmo criar o seu bbcode? ta certo ! tongue.gif

assim cara nem to lendo nada, to mortao de sono

mais se eu não estiver errado tem que ser uma funcao.. tipo olha como ficaria:

<?

function mod()

string = ereg_replace("(.*)(\[b\])([A-Za-z0-9].*)(\[/b\])([A-Za-z0-9].*)","\\2<b>\\4</b>";

echo mod($texto);

?>

não testei mais essa é a logica

falo cara

abracos

Link para o comentário
Compartilhar em outros sites

  • 0

hehe...não é q eu quero criar meu bbCode..........

mas é q eu to muito impressionado com as ERs...

e tava querenu mesmo aprender a mexer com elas....

.e não pegar um script pronto ta ligado?

ae eu num aprendo nada!!!! hehe

então....pelo q eu vi agora, não precisa nem ser em uma funcao não olha:

<?
$texto = "blablablabalbla[b]Struter[/b]dfhgfghfghgfhgh";
$mod = preg_replace( "#\[b\](.+?)\[\/b\]#is", "<b>\\1</b>", $texto);
echo $mod;
?>

funcionou perfeitamente, mas tipo.....no guia de ERs q eu estou lendo, não tem nada falando sobrenesse # e sobre esse is ae na ER....

ou seja.......como eu ia adivinha isso??????

hehehe

e tb ae foi feito com pre_replace......e eu não achei nada sobre ele........

resumindo....alguém ae sabe pra q esse # e esse 'is' dessa ER ????????????

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

Link para o comentário
Compartilhar em outros sites

  • 0

Fala, Struter!

E aí, tá gostando das expressões regulares? hehehe... bom, eu descobri que o preg_replace() é um comando pra você usar ERs no modelo de Perl, sacou? Mas vamos tentar com o ereg_replace, mesmo. Eu tenho uma sugestão:

$mod = ereg_replace("(.*?)(\[b\])(.*?)(\[\/b\])(.*)","\\1<b>\\3</b>\\5", $texto);

Eu não tenho certeza se você tem que "escapar" aquela barra, mas... não custa fazer um teste.

Qualquer coisa você posta aí...

Falou!

Link para o comentário
Compartilhar em outros sites

  • 0

Se você quer so pegar essa string aí, o preg_match_all, talvez lhe de uma luz:

$texto="dsfghjdhjkfghj45SG35df456uhgYGYU345";

$pattern = "[(\[b\])([A-Za-z0-9].*)(\[/b\])]";

preg_match_all($pattern,$texto,$d);

for ($i = 0; $i < count($d[0]); $i++)

{

  $cache .= $d[0][$i];

}

  echo $cache;

Link para o comentário
Compartilhar em outros sites

  • 0

vlw ae illidan........

mas eu já tentei dar um escape naquela barra......

e ckbilly...eu to tentanu não usar nenhma funcao com preg_ por enquanto....

porque eu não to achanu nada sobre elas em portugues......

e pelo pouco q eu sei delas....

elas suportam apenas as ERs do perl se eu não me enganu...ae já muda um pouco não é?........

se mais alguém ae souber, me ajuda ae........

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

Link para o comentário
Compartilhar em outros sites

  • 0

Outra sugestão:

$mod = ereg_replace("(.*?)(\[b\])(.*?)(\[\\/b\])(.*)","\\1<b>\\3</b>\\5", $texto);

Tenta aí... pode ser que você tenha que "escapar o escape"... hehehe! (nossa!)

Bom, se não for isso, tenta explicar melhor o erro que tá dando...

Falou!

Link para o comentário
Compartilhar em outros sites

  • 0

agora q comeco da o erro......olha só o erro q ta danu agora...pelo visto é a regex q ta errada........

mas eu não to conseguinu acha o erro.....

Warning: ereg_replace(): REG_BADRPT: in d:\php_arquivos\testes\exp_reg\ereg_replace.php on line 4

vlw...falow!!!!!!

ah.,..achei o erro......é q o 'curinga' .* não pode ser opcional...'?' ..por isso tava danu o erro.....

hehee....e vlw ae...agora funcionou..........

<?php

$texto="dsfghjdhjkfghj45SG35df456uhgYGYU345";

$mod = ereg_replace("(.*)(\[b\])(.*)(\[/b\])(.*)","\\1<b>\\3</b>\\5", $texto);

echo $mod;

?>

ta certinho agora!!!

hehe..só mais uma coisa...na hora de substituir...nesse caso foi usado.. "\\1<b>\\3</b>\\5"..........qual a diferenca de usar o 'retrovisor' com uma barra\1 e com duas \\1 ??????

vlw...falow!

vlw ae!

falow!!!!

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,2k
    • Posts
      652k
×
×
  • Criar Novo...