Check words in Array php

Asked

Viewed 231 times

3

I’m assembling a text checker, where I store in array1 several texts (I could not filter them) and array2 i put certain words to be compared. Thus, one should check whether the words that are in the array2, are in the array1, in order to determine what the text is about.

<?PHP
$array1 = explode("", file_get_contents('cotidiano.txt'));
$array2 = explode("", file_get_contents('palavras.txt'));
?>

Text as an example: The text comes as follows::

TEXTO1
<head> <edic><Diário Gaúcho 12/05/2013</edic>
<autor>Denise Waskow, [email protected]</autor>
</head>
<body>
<subtítulo>Para celebrar</subtítulo>
<título>Mães e filhos se divertem em atividades culturais no Parque da Redenção</título>
Jogos de mesa, futebol, brinquedos infláveis, teatro, dança e uma série de outras brincadeiras movimentaram o domingo no parque
Criançada aproveitou o domingo nos brinquedos
Denise Waskow
[email protected]
Se existe algo que deixa toda mãe realizada é ver que o filho está feliz. E quem levou a prole neste domingo à Redenção ganhou esse presente para celebrar o Dia das Mães. 
Jogos de mesa, futebol, brinquedos infláveis, teatro, dança e uma série de outras brincadeiras movimentaram o domingo, em uma ação promovida pela Secretaria Municipal de Esporte, Recreação e Lazer da Capital. A gurizada aproveitou muito, e as mamães se emocionaram com a alegria deles.
<subtítulo>Diversão nos brinquedos</subtítulo>
Enquanto a pequena Amanda, três anos, criava coragem para descer no tobogã inflável, a mãe, a babá Roselaine Pereira, 30 anos, ficava na parte de baixo do brinquedo, incentivando a menina a descer, fotografando e se divertindo junto.  
- É maravilhoso, é ótimo. O melhor presente é isso, a felicidade deles - derrete-se.
O filho mais velho, Jhonattan, 13 anos, já não está mais na fase de brincar, mas nem por isso deixou de acompanhar a mãe. Enquanto a irmã caçula passava de um brinquedo para o outro, ele contou como homenageou Roselaine no início do domingo: 
- Eu disse que eu amo ela.
<subtítulo>Uma torcida especial</subtítulo>
"Vai Joana, vai Joana!". Ao lado do espaço demarcado para o futebol, a massoterapeuta Tânia Regina Horta, 46 anos, incentivava a filha caçula, de seis anos, no esporte. E apesar de a mãe ser gremista e a filha colorada, não existe rivalidade. O que conta nessa relação, claro, é o amor. 
- A mãe que está sendo homenageada e são os filhos que se divertem. Está ótimo, o melhor é curtir a companhia deles - elogia. 
Depois de uma manhã inteira de brincadeiras, o planejamento de Tânia era encontrar os dois filhos mais velhos, além dos dois enteados, para o tradicional almoço de Dia das Mães.
</body>

My doubt would be : How to perform data verification on different arrays (or what needs to be implemented) to determine what the text is about?! I don’t know much about language, so I was in doubt.

1 answer

1


You can check if the word exists in the Array:

$texto1 = preg_replace("<(.|\n)*?>","",file_get_contents('cotidiano.txt'));
$array1 = explode("",$texto1);
$array2 = explode("", file_get_contents('palavras.txt'));

foreach($array2 as $valor){
   if(in_array($valor, $array1){
     echo "$valor Existe !";
   }
}

Edit: Added snippet to remove html. Just be careful, because the function will remove everything between <>

  • Great! That way I could go through all the words in the text? Because the file that ends up being read, contains more or less 150 texts in the same formatting as this put as example.

  • It will go through all the words that are in "array 2" and check if it exists in "array 1", the amount of text depends on how you populated the array

  • Yes, in this case "array2" contains the words "keys" and in "array1" it contains the text with this pattern. Is there any way to filter and separate text from array1? Type, the main text starts after tag </title> and ends before the </body>.

  • @user56742 edited

Browser other questions tagged

You are not signed in. Login or sign up in order to post.