Reparem no script abaixo:
$titulo = "[Dúvida] Download do jogo Splinter Cell"; //Determina a variável $titulo
$prefixo = '[Dúvida]';
$pesquisar = preg_match($prefixo,$titulo,$juntos, PREG_OFFSET_CAPTURE); //Verifica se $prefixo existe em $titulo
if ($pesquisar > 0){ //Se o prefixo existir
$prefixo_colorido = "<font color='red'>".$prefixo."</font>"; //Determina a variável $prefixo_colorido
echo substr_replace($titulo , $prefixo_colorido , 0,strlen($prefixo)); //Substitui $prefixo se presente no $titulo por $prefixo_colorido
}
Está quase do jeito que eu queria, o que eu quero mesmo é poder pesquisar múltiplos $prefixos na variável $titulo, para poder fazer uma espécie de banco de dados nos arrays como por exemplo:
$prefixo = '[Dúvida],[Tutorial],[Resolvida]';
Ou talvez quem sabe:
$prefixo = array(
'[Dúvida]',
'[Tutorial]',
'[Resolvida]',
);
Não importa a maneira eu apenas quero poder pesquisar mais de um $prefixo na string $titulo.
Bom então é isso, aguardo uma resposta.
Abraços,
bigCheat.
Bom depois de muita pesquisa e após ter passado em alguns outros foruns, fiz diversas modificações está dando tudo certo do jeito como eu precisava, veja como está o código:
<?php
//Colorir prefixo nos tópicos (SMF)
$titulo = "[Tutorial] Download do Game Splinter Cell"; //Determina a variável $titulo
$prefixo = array(
'[Dúvida]',
'[Tutorial]',
'[Vídeo-Aula]',
);
$cor = array(
'red',
'blue',
'purple',
);
for($i = 0; $i < count($prefixo);$i++){
$resultado = strstr($titulo , $prefixo[$i]);
if ($resultado == $titulo){
$n_prefixo = $i;
}
}
$pesquisar = preg_match($prefixo[$n_prefixo],$titulo,$juntos, PREG_OFFSET_CAPTURE); //Verifica se $prefixo existe em $titulo
if ($pesquisar > 0){ //Se o prefixo existir
$prefixo_colorido = "<font color='".$cor[$n_prefixo]."'>".$prefixo[$n_prefixo]."</font>"; //Determina a variável $prefixo_colorido
echo str_replace($prefixo , $prefixo_colorido, $titulo); //Substitui $prefixo se presente no $titulo por $prefixo_colorido
}
?>
Agora gostaria de que ele substituísse os itens de forma diferente, por exemplo eu estou mandando ele fazer isso nos prefixos que forem do índice de valor igual a $n_prefixo que é igual a $i que é igual ao prefixo que ele encontrou na string $titulo:
$prefixo_colorido = "<font color='".$cor[$n_prefixo]."'>".$prefixo[$n_prefixo]."</font>";
Agora gostaria que ele procurasse a quantidade que os $prefixos existem e os colorisse de forma diferente. Por
exemplo vamos supor que ele encontrou os prefixos [Dúvida], [Tutorial] e [Vídeo-Aula] na string $titulo que tem cores(cores determinadas em $cor) diferentes então gostaria que ele colorisse os indíces da seguinte forma:
$prefixo[1] com sua $cor[1]
$prefixo[2] com sua $cor[2]
Múltiplamente entende? Tem alguma forma de fazer isso assim?
Espero que tenham me entendido.
Abraços.
Edição feita por: bigcheat, 24/01/2011, 23:32.