Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 ??
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
vllwwww galéra o codigo do whoami funfo direitin vlw !!! /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/tongue.gif&key=8d11c3c7c03c7a5a294e250694d100848a0423dc34ef2af8d774f49d1b969fde" alt="Imagem Postada" />
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:
print ereg_replace("(\[red\])+([[:print:]]+)(\[/red\])",
"<font color=\"red\">\2</font>", $texto);
/*imprime
Minha <font color="red">Cor Atual</font> é vermelha
*/
?>