@devhub16

Как реализовать поиск шаблона текста по тексту в PHP?

Всем привет!
Возникла проблема: дан текст (какой-нибудь вопрос), по этому тексту надо найти его шаблон, который больше всего подходит, а затем вывести ответ для этого шаблона. Вопрос: как такое реализовать на PHP?
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
@BorisKorobkov Куратор тега PHP
Web developer
foreach по всем шаблонам, применить к тексту, сравнить результат.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
lokki00003
@lokki00003
Web developer
if (isset($_POST['search']))
{
// Папка в которой ищем
if(isset($_GET['dir'])){$dir=rtrim($_GET['dir'],'/');}else{$dir = $_SERVER['DOCUMENT_ROOT'].'/dir';}
// То что ищем
$search = htmlspecialchars($_POST['search']);

function fstree($dir)
{
global $search;
$count = 0;

if ($dh = opendir($dir))
{
while (($file = readdir($dh)) !== false)
{
if ($file == '..' || $file == '.') continue;


if (is_dir($dir."/".$file))
{
fstree($dir."/".$file);
}
else
{
$txt = file($dir . '/' . $file);

for($i = 0; $i < count($txt); $i++)
{
if (preg_match("/$search/i", $txt[$i]))
{
echo '' . $file . ' cтрока ' . $i . '';
echo '' . htmlspecialchars($txt[$i]) . '
[Открыть файл]';
$count ++;
}

}

}
}
closedir($dh);
}

if ($count == 0)
return $count;
}

fstree($dir);
}
elseif (isset($_GET['file']))
{
$txt = file($_GET['file']);
for($i = 0; $i < count($txt); $i++)
{
echo htmlspecialchars($txt[$i]) . '
';
}
}
else
{
?>


Поиск в файлах



Этот код ищет у меня совпадения сразу во всех файлах в папке по тексту
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы