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 相关文章推荐
node.js中Socket.IO的进阶使用技巧
Nov 04 Javascript
javascript实现仿百度图片的瀑布流加载效果
Apr 20 Javascript
JavaScript6 let 新语法优势介绍
Jul 15 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
Nov 27 Javascript
canvas实现绘制吃豆鱼效果
Jan 12 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
详解mpvue开发小程序小总结
Jul 25 Javascript
webpack4.x CommonJS模块化浅析
Nov 09 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
Dec 19 Javascript
JavaScript中this函数使用实例解析
Feb 21 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
Jun 16 Javascript
JavaScript语句错误throw、try及catch实例解析
Aug 18 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
计数器详细设计
2006/10/09 PHP
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
PHP设计模式之观察者模式定义与用法示例
2018/08/04 PHP
php集成开发环境详解
2019/09/24 PHP
css把超出的部分显示为省略号的方法兼容火狐
2008/07/23 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
2013/06/19 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
python多线程threading.Lock锁用法实例
2014/11/01 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
什么是会话Bean
2015/05/14 面试题
酒店节能降耗方案
2014/05/08 职场文书
2015年简历自我评价范文
2015/03/11 职场文书