我写了一个简单的搜索引擎,想在结果中显示一些文字,实际上我想在SEARCH QUERY之前显示200个字符,在SEARCH QUERY之后显示200个字符。
示例:
SEARCH QUERY:TEST
结果:
BLAH BLAH BLAH BLAH BLAH BLAHBLAH BLAH BLAHBLAH BLAH BLAHBLAH BLAH BLAHBLAH BLAH BLAHBLAH BLAH BLAH BLAH BLAH BLAH TEST BLAH BLAH BLAH BLAH BLAH BLAH BLAH BLAH BLAH BLAH BLAH BLAH BLAH BLAH BLAH。
我想要这个输出:
...... BLAH BLAH BLAH BLAH TEST BLAH BLAH BLAH BLAH ...
前后有3个点。
$text= $row["text"];
$find = $term;
$result = strpos($text, $find);
但是我不知道如何将它设置为在$ term之前显示200个字符,在$ text之后显示200个字符。
答案 0 :(得分:2)
您可以使用substr()
substr()
函数返回字符串的一部分。
substr(string,start,length)
阅读more
从文字的位置开始。减去200(长度)将获得之前的字符,加上200(长度)将得到它之后的字符(此处添加文本的长度,因为我们从$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);