$str = <<

这是一段测试内容

随机位置插入关键词

支持插入html代码

EOF;

$insert=array('链接1','链接2','链接3');

echo randomInsert($str,$insert);

function randomInsert($txt,$insert){//txt 内容;insert要插入的关键字,可以是链接,数组

//将内容拆分成数组,每个字符都是一个value,英文,中文,符号都算一个,只能在utf-8下中文才能拆分

preg_match_all("/[\x01-\x7f]|[\xe0-\xef][\x80-\xbf]{2}/", $txt, $match);

$delay=array();

$add=0;

//获取不能插入的位置索引号($delay 数组),也就是< > 之间的位置

foreach($match[0] as $k=>$v){

if($v=='

if($add==1) $delay[]=$k;

if($v=='>') $add=0;

}

$str_arr=$match[0];

$len=count($str_arr);

foreach($insert as $k=>$v){

//获取随机插入的位置索引值

$insertk=insertK($len-1,$delay);

//循环将insert数据 拼接到 随机生成的索引

$str_arr[$insertk].=$insert[$k];

}

//合并插入 关键词后的数据,拼接成一段内容

return join('',$str_arr);

}

function insertK($count,$delay){//count 随机索引值范围,也就是内容拆分成数组后的总长度-1;delay 不允许的随机索引值,也就是不能在 < > 之间

$insertk=rand(0,$count);

if(in_array($insertk,$delay)){//索引值不能在 不允许的位置处(也就是< > 之内的索引值)

$insertk=insertK($count,$delay);//递归调用,直到随机插入的索引值不在 < > 这个索引值数组中

}

return $insertk;

}

php随机关键词,php实现向含html文本内容随机位置插入关键词相关推荐

  1. 【RF分类】基于matlab随机森林算法数据分类【含Matlab源码 2048期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[RF分类]基于matlab随机森林算法数据分类[含Matlab源码 2048期] 获取代码方式2: 付费专栏Matlab智能算法神经网络 ...

  2. C#生成含数字字母的随机字符串

    C#生成含数字字母的随机字符串 要求生成的字符串是随机的,也就是字母和数字都需要随机,既可能只包含数字,也可能只包含字母,也可能两者都有. 实现方式如下: 首先定义一个包含所有字母和数字的字符串和一个 ...

  3. Java 随机数练习之从26个英文字母(含大小写)和 0 - 9 数字中随机抽出4个字符,然后拼接成一个随机验证码

    从26个英文字母(含大小写)和 0 - 9 数字中随机抽出4个字符,然后拼接成一个随机验证码 判断输入的验证码 与 随机生成的验证码 是否相同(忽略大小写) 如果正确,则系统提示,"恭喜你验 ...

  4. 信号检测:基于双稳随机共振的微弱信号检测含Matlab源码

    信号检测:基于双稳随机共振的微弱信号检测含Matlab源码 双稳随机共振是一种有效的微弱信号检测方法,广泛应用于各个领域.本文将介绍如何使用Matlab实现基于双稳随机共振的微弱信号检测,并提供相应的 ...

  5. 自动生成文章的html,文章自动更新工具|自动生成文件|自动伪原创|文章自动插入关键词工具...

    概念网络发布一款自动更新文章的工具, 该套工具可用概念的文章站程序, 概念的发布站程序, 概念的企业站程序, 只要在服务器一直开着这个工具, 工具会更具配置文件的配置, 每天定时的更新网站的文章, 文 ...

  6. 百度关键词抓取工具_VBA利用XMLHTTP抓取百度查询关键词结果的个数

    大家好,我们今日讲解"利用XMLHTTP抓取百度查询关键词结果的个数",这节内容是"VBA信息获取与处理"教程中第六个专题"VBA中利用XMLHTTP ...

  7. gbdt 算法比随机森林容易_机器学习军火库 | 浪漫算法 随机森林

    一.基本原理 顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的.在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行 ...

  8. java随机点名器的思路_Java实现简单的随机点名器

    实现思路 1.在存储同学姓名时,如果每一个同学都定义一个变量进行姓名存储,则会出现过多孤立的变量,很难一次性将全部数据持有.此时可以使用数组解决多个数据的存储问题.创建一个可以存储多个同学姓名的数组, ...

  9. c语言从集合中随机选取一个值,从集合中挑选一个随机元素

    使用a ArrayList和a HashMap:[element - > index] 快速解决Java问题. 动机:我需要一组具有RandomAccess属性的项目,尤其是从集合中选择一个随机 ...

最新文章

  1. Java如何等待子线程执行结束
  2. 【模板】分散层叠算法(P6466)
  3. dev中文本框等获取焦点事件
  4. 经典Sql大全--转
  5. Online开发初体验——Jeecg-Boot 在线设计流程
  6. Hadoop 系列之 Hive
  7. 上市公司与不上市公司的区别
  8. 谷歌大脑AutoML最新进展:不断进化的阿米巴网络
  9. DE23 Use with Impulse Inputs
  10. Windows 7 SP1 旗舰版 MSDN原版
  11. 谈谈JavaScript版本演进史及ES3、ES5区别和特性
  12. python的display显示_Python display.display方法代码示例
  13. Dom(二十一) 拖拽
  14. 2014级学生程序设计学习大数据
  15. DevOps 工程师需要必备哪些技能?
  16. JavaWeb专栏之(三):Eclipse创建JavaWeb项目
  17. 二叉树的前序遍历(Java)
  18. 机器学习的梯度下降中学习率的选取
  19. 初识Excel的IF, IFERROR, MATCH, COUNTA公式
  20. 【数据库】Oracle基础命令

热门文章

  1. c++函数返回二维数组_C++ 怎样让函数返回数组
  2. 新代系统plc梯形图说明书_东莞自动化PLC编程需要多少钱
  3. p6 软件 服务器没有项目了,前后端分离项目一台服务器上线
  4. mysql 执行效率命令_MySQL优化--explain 分析sql语句执行效率
  5. 传感器阵列波束优化设计与应用_传感器阵列波束优化设计与应用.pdf——马远良...
  6. php7 打开错误提示,PHP7如何开启具体错误显示
  7. java用户角色权限管理 只显示姓_扩展RBAC用户角色权限设计方案
  8. oracle Client 11g静默安装
  9. 数学计算机学具制作,神奇的数学
  10. 魔兽世界终端服务器,《魔兽世界》怀旧服数据已上传服务器:登录画面引人怀念...