我有一个PHP代码,用于读取文本文件并允许用户进行搜索,然后将结果显示在包含文件名和行号的html表中文件可以处理多行。
所有由10个类别组成的txt文件,其中每个类别包含一些文本。
数组将包含所有txt文件由其组成的类别所以我认为为了检查搜索到的单词存在的位置,并且因为类别是标准而且不改变,因此我使用数组txt文件内容是搜索的单词(如果存在)+数组元素+其他文本。
预期结果:
我知道我必须在数组中包含这些类别,而系统读取时会读取与数组元素进行比较的文件,一旦找到匹配项,它会在行旁边显示类别名称号。
我不知道如何在PHP中写这个想法有人可以帮助我吗?
<?php
$result = [];
if(isset($_POST["search"]))
{
$search =$_POST['name'];
echo "the word $search exist: <br><br>";
foreach(glob($_SERVER['DOCUMENT_ROOT']."/readfiletest/*.txt") as $txts)
{
$categories = ["محلي", "إقليمي","دولي"];
$line = 1;
$temp = [];
$myFileLink = fopen($txts, 'r');
while(!feof($myFileLink))
{
$myFileContents = fgets($myFileLink);
if( preg_match_all('/('.preg_quote($search,'/').')/i', $myFileContents, $matches))
{
if(preg_match('/'.preg_quote($categories[0], '/'). '/u', $myFileContents))
{
echo "the category found is $categories[0]";
}
}
++$line;
}
fclose($myFileLink);
}
?>