我想知道如果任何人都可以用一个小问题,我似乎无法修复帮助 - 我的头此刻正转圈圈......
好吧,我有信息的无数条线.txt文件 - 我想,以配合这些线路的关键字,并显示一定数量的匹配线。
我放在一起的脚本此位,如果是的话在同一顺序作为搜索词,而它的工作原理,只匹配一行。
目前,作为一个例子:
搜索词:
红帽
行.txt文件:
这是我的红帽子
我的帽子是红色的
这顶帽子是绿色的
这是一个红领巾
你的红色帽子不错
作为脚本是目前它将匹配并显示线1,5
但是我想它匹配并且显示行1,2,5
任何订单,但所有的话必须存在匹配。
我已经通过这里和其他地方张贴的负荷看,我明白,我们需要的是爆炸的字符串,然后搜索每个字在一个循环中,但我不能得到那个工作,尽管尝试了几种不同的方法,因为它仅返回同一行多次。
之前,我失去了什么头发,我已经离开了:-)任何帮助,将不胜感激
以下是我目前使用的代码 - 搜索变量已设置为:
<?php
rawurldecode($search);
$search = preg_replace('/[^a-z0-9\s]|\n|\r/',' ',$search);
$search = strtolower($search);
$search = trim($search);
$lines = file('mytextfile.txt') or die("Can't open file");
shuffle($lines);
$counter = 0;
// Store true when the text is found
$found = false;
foreach($lines as $line)
{
if(strpos($line, $search) !== false AND $counter <= 4)
{
$found = true;
$line = '<img src=""> <a href="">'.$line.'</a><br>';
echo $line;
$counter = $counter + 1;
}
}
// If the text was not found, show a message
if(!$found)
{
echo $noresultsmessage;
}
?>
在此先感谢您的帮助 - 仍然在学习:-)