-2

我写了一个简单的搜索引擎,想在结果中显示一些文本,实际上我想在搜索查询之前显示 200 个字符,在搜索查询之后显示 200 个字符。

例子:

搜索查询:测试

结果:

哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇

我想要这个输出:

... 呜呜呜呜呜测试

前后各有 3 个点。

$text= $row["text"];
$find = $term;
$result = strpos($text, $find);

但我不知道如何将其设置为在 $text 中显示 $term 之前的 200 个字符和 $term 之后的 200 个字符。

4

1 回答 1

2

您可以使用substr()

substr()函数返回字符串的一部分。

substr(string,start,length) 

阅读更多

从文本的位置开始。减去 200(length) 将得到之前的字符,加上 200(length) 将得到之后的字符(这里添加了文本长度,因为我们从 的第一个字母开始$text

$text= $row["text"];
$find = $term;
$result = strpos($text, $find);
echo substr($text,($result-200>0)?($result-200):0,200)." ".$find." "
.substr($text,$result+strlen($find),200);
于 2015-03-29T12:24:59.197 回答