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

Colocar em negrito as palavras de uma frase que contenham no banco de dados


landerbadi

Pergunta

Olá pessoal, boa tarde

 

Tenho um banco de dados as seguintes tabelas:

 

Verbos

Plural

Frases

Palavras

 

01 -Na tabela palavras eu irei escolher uma palavra. Preciso que o php liste frases da tabela frases que contenham esta palavra. 

 

2 - Na tabela verbos irá conter variações dessa palavra caso ela seja um verbo. Por exemplo: a palavra fazer ela é um verbo. Sendo assim ela terá variações como: fiz, farei, faria, etc. Para organizar isso eu criei na tabela verbos os seguintes campo id, palavra_id e palavra. Onde palavra_id é o id da palavra fazer. Segui este mesmo padrão para a tabela plural.

 

3 - Eu preciso que ele liste frases com a palavra e com suas variantes. Por exemplo: na frase " Eu vou fazer café" ele iria listar pois contém a palavra fazer. Porém se houver no banco de dados a frase "Eu fiz cafe" ele também tem que listar pois fiz é uma variante de fazer.

 

4 - Após fazer essa listagem eu preciso que ele coloque em negrito as palavras que não existem no banco de dados. Por exemplo se em todo o banco de dados a palavra café não existir ele precisa colocar esta palavra em negrito.

 

Alguém poderia me ajudar por favor?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Aqui está o código corrigido:

 

<?php
// mysql tbpalavras (id,palavra); tbfrases (id,frase)
$mysqli=new mysqli("localhost","root","","laravel");
$query=$mysqli->query("select palavra from tbpalavras");
$rows=$query->fetch_all(MYSQLI_ASSOC);
$palavras=[];
$palavras[]="_"; // gambiarra do Frank
foreach($rows as $row){
    $palavras[]=$row['palavra'];}
$query=$mysqli->query("select frase from tbfrases");
while($row=$query->fetch_assoc()){
    $frase=$row['frase'];
    $vetores=explode(" ",$frase);
    foreach($vetores as $vetor){
        $subvetor=$vetor;
        $subvetor=str_replace('.','',$subvetor);
        $subvetor=str_replace(',','',$subvetor);
        $subvetor=str_replace(';','',$subvetor);
        if(array_search($subvetor,$palavras)){
            echo "<b>$vetor </b>";} else {
            echo $vetor." ";}}}

 

Editado por Frank K Hosaka
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,3k
×
×
  • Criar Novo...