Linkin 0 Denunciar post Postado Dezembro 28, 2003 Seguinte galéra eu estou fazendo um bbcode...E eu preciso saber como eu posso aplicar uma determinada acao somente aos caracteres que estiverem entre o [CODIGO] [/CODIGO] por exemploEntão exemplo:O cara ta la no forum e talz ai la tem um bbcode que deixar a palavra coco e ixi em vermelho mas pra dewixar em vermelho ela tem que estar dentro do [CODIGO] [/CODIGO] e o coco e xixi tiver fora do [CODIGO] [/CODIGO] ele nao deixa vermelho como posso fazer isso ?? Compartilhar este post Link para o post Compartilhar em outros sites
Seifer 0 Denunciar post Postado Dezembro 28, 2003 Modificar strings é fácil, basta usar str_replace(); Agora, modificar strings "dentro de tag" é meio complicado. Um jeito é usar a fução ereg_replace() veja no manual do PHP(baixe o arquivo chm do php.net) como usar essa função, e veja as funções "relacionadas" também se você tem o Apanhe instalado em sua máquina, procure pelo arquivo (use a busca do Windows) cclass.h, esse arquivo contém os "curingas" para usar com funções do tipo ereg ae vai um exemplo: <?php $texto = "Minha [red]Cor Atual[/red] é vermelha"; print ereg_replace("(\[red\])+([[:print:]]+)(\[/red\])", "<font color=\"red\">\2</font>", $texto); /*imprime Minha <font color="red">Cor Atual</font> é vermelha */ ?> Compartilhar este post Link para o post Compartilhar em outros sites
whoami 0 Denunciar post Postado Dezembro 28, 2003 você pode "desmontar" o texto, separando qual parte está entre [CODIGO] ou naum, usando o comando explode, e depois identificar onde termina a tag ( [/CODIGO]), usando o comando strpos para adivinhar aonde termina o código... a partir daí, você usa str_replace para substituir os pedaços de código q você quer, e no final junta tudo depois.... desenvolva um pouco essa lógica, organize o código, q provavelmente funciona!! []s thiago! ------ o problema do linkin já foi meio q solucionado, to postando o código q passei pra ele pra quem quiser ter uma idéia de como funciona!. rs ----- $comando = .....; //o comando a ser tratado$pedaco1 = explode($comando, "[CODIGO]"); //dah uma checada na sintaxe corretawhile ($i <= sizeof($pedaco1)) { $posicao_final = strpos($pedaco1[$i], "[/CODIGO]");$pedacinho = substr($posicao_final, strlen("[/CODIGO]");$pedacinho = str_replace($pedacinho, "coco", "<font color=red>coco</font>);$pedacorestante = ltrim($pedaco1[$i], "[/CODIGO]"); //pedaço de sobra$pedaco2[$i] = $pedacinho.$pedacorestante; //cria uma cópia do array pedaco1, só q agora modificado$i==;}//depois, é só juntar todo o array $pedaco2, e pronto Compartilhar este post Link para o post Compartilhar em outros sites
Linkin 0 Denunciar post Postado Dezembro 29, 2003 vllwwww galéra o codigo do whoami funfo direitin vlw !!! Compartilhar este post Link para o post Compartilhar em outros sites