javascript、php关键字搜索函数的使用方法


Posted in Javascript onMay 29, 2018

javascript:

a. 代码:

/*
@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. 测试:

var str = '你好吗?你在哪里呀?我可以过来找你玩吗?你怎么不回答我呀!'
var key = '玩'
var res = search(key,str)
console.log(res)

c. 输出:

里呀?我可以过来找你玩吗?你怎么不回答我

php:

a. 代码:

<?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. 测试:

$str = '你好吗?你在哪里呀?我可以过来找你玩吗?你怎么不回答我呀!';
$key = '玩';
$res = search($key,$str);
echo $res;

c. 输出:

里呀?我可以过来找你玩吗?你怎么不回答我

Javascript 相关文章推荐
js实现全国省份城市级联下拉菜单效果代码
Sep 07 Javascript
JavaScript基础篇(3)之Object、Function等引用类型
Nov 30 Javascript
JQUERY表单暂存功能插件分享
Feb 23 Javascript
Node.js中路径处理模块path详解
Nov 14 Javascript
Vue开发过程中遇到的疑惑知识点总结
Jan 20 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
Jan 22 Javascript
javascript实现文字无缝滚动效果
Aug 26 Javascript
vue按需引入element Transfer 穿梭框
Sep 30 Javascript
微信小程序生成海报分享朋友圈的实现方法
May 06 Javascript
详解Vue中的Props与Data细微差别
Mar 02 Javascript
JS如何定义用字符串拼接的变量
Jul 11 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
Nov 07 Javascript
Vue路由切换时的左滑和右滑效果示例
May 29 #Javascript
Vue 组件传值几种常用方法【总结】
May 28 #Javascript
讲解vue-router之命名路由和命名视图
May 28 #Javascript
微信小程序实现图片上传功能
May 28 #Javascript
微信小程序上传图片功能(附后端代码)
Jun 19 #Javascript
讲解vue-router之什么是编程式路由
May 28 #Javascript
讲解vue-router之什么是嵌套路由
May 28 #Javascript
You might like
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
js对字符串进行编码的方法总结(推荐)
2016/11/10 Javascript
利用vue-router实现二级菜单内容转换
2016/11/30 Javascript
jQuery实现立体式数字滚动条增加效果
2016/12/21 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python实现list反转实例汇总
2014/11/11 Python
在IIS服务器上以CGI方式运行Python脚本的教程
2015/04/25 Python
Python基础知识点 初识Python.md
2019/05/14 Python
python实现得到当前登录用户信息的方法
2019/06/21 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
基于Python实现扑克牌面试题
2019/12/11 Python
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
Html5页面中的返回实现的方法
2018/02/26 HTML / CSS
耐克美国官网:Nike.com
2016/08/01 全球购物
护士在校生自荐信
2014/02/01 职场文书
幼儿园母亲节活动方案
2014/03/10 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
甜品店创业计划书
2014/09/21 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL
MySQL为数据表建立索引的原则详解
2022/03/03 MySQL