javascript:
a. 代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
/*
@desc:js搜索函数,可用于关键字匹配
@param key 关键字
@param str 要搜索的字符串
@return out 匹配关键字前后出现的位置
*/
function
search(key,str){
var
min = 0
var
max = str.length
var
index = str.indexOf(key)
var
left = index - 10
var
right = index + 10
if
(left<min){
left = min
}
if
(right>max){
right = max
}
var
out = str.slice(left,right)
return
out
}
|
b. 测试:
1
2
3
4
|
var
str =
'你好吗?你在哪里呀?我可以过来找你玩吗?你怎么不回答我呀!'
var
key =
'玩'
var
res = search(key,str)
console.log(res)
|
c. 输出:
里呀?我可以过来找你玩吗?你怎么不回答我
php:
a. 代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?php
/*
@desc:php搜索函数,可用于关键字匹配
@param key 关键字
@param str 要搜索的字符串
@return out 匹配关键字前后出现的位置
*/
function
search(
$key
,
$str
){
$min
= 0;
$max
= mb_strlen(
$str
);
$index
= mb_strpos(
$str
,
$key
);
$left
=
$index
- 10;
$right
=
$index
+ 10;
if
(
$left
<
$min
){
$left
=
$min
;
}
if
(
$right
>
$max
){
$right
=
$max
;
}
$len
=
$right
-
$left
;
$out
= mb_substr(
$str
,
$left
,
$len
);
return
$out
;
}
|
b. 测试:
1
2
3
4
|
$str
=
'你好吗?你在哪里呀?我可以过来找你玩吗?你怎么不回答我呀!'
;
$key
=
'玩'
;
$res
= search(
$key
,
$str
);
echo
$res
;
|
c. 输出: