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 相关文章推荐
javascript之ESC(第二类混淆)
May 06 Javascript
jQuery+jqmodal弹出窗口实现代码分明
Jun 14 Javascript
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
Oct 20 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
Oct 21 Javascript
js 实现菜单左右滚动显示示例介绍
Nov 21 Javascript
javascript实现动态模态绑定grid过程代码
Sep 22 Javascript
javascript继承机制实例详解
Nov 20 Javascript
JS实现的汉字与Unicode码相互转化功能分析
May 25 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
Jan 16 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
May 01 Javascript
layui使用数据表格实现购物车功能
Jul 26 Javascript
JS实现多功能计算器
Oct 28 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
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
PHP实现的支付宝支付功能示例
2019/03/26 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
读JavaScript DOM编程艺术笔记
2011/11/15 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
js实现弹出框的拖拽效果实例代码详解
2019/04/16 Javascript
vue自动路由-单页面项目(非build时构建)
2019/04/30 Javascript
Node如何后台数据库使用增删改查功能
2019/11/21 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
[46:47]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS NE
2014/05/22 DOTA
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
Python pip 常用命令汇总
2020/10/19 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
syb养殖创业计划书
2014/01/09 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
在职证明范本
2015/06/15 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
Python os和os.path模块详情
2022/04/02 Python