PHP随机插入关键字到有HTML的内容该如何实现?

因为是随机位置,也有可能插入到

这种地方,这个问题该怎么解决?

能否先剥离HTML标签,随机插入后,再还原呢?希望大家帮帮我。

------解决思路----------------------

好吧,注释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];

}

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

echo 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 随机输出html,PHP随机插入关键字到有HTML的内容该怎么实现相关推荐

  1. 如何用c语言随机输出除法题,随机产生30道四则运算(C语言)

    利用自己熟悉的语言别写一段程序,要求能随机产生30道四则运算的算数题 以下是程序代码: 1 #include "stdafx.h" 2 #include "stdio.h ...

  2. php随机名人名言,php随机输出名人名言的代码

    正如你看到的"小谈博客"标题后面的名人名言一样,每刷新一次就会随机出现一条语句,把你喜欢的话放到一起,经常出现在你眼前,给你温暖的力量 那么这个随机名人名言的功能是如何实现的呢? ...

  3. php随机名人名言,php随机输出名人名言的函数

    使用php随机输出名人名言,每刷新一次就会随机出现一条语句,如果改作新年的祝福放在一起,也是这样展示给用户,是不是很温馨哦. 实现方法很简单,只需要一个字符串变量,这里面放所有要随机展现的名人名言,然 ...

  4. python随机生成100内的10个整数_用python随机生成数字教程_如何用Python编程随机产生10个随机整数,并输出这10个整数的和�9�3...

    如何用Python编程随机产生10个随机整数,并输出这10个整数的和 用Python编程产生10个随机整数,并整数的和,方法如下 准备材料python.电脑 1.需要加载的模块是:random. 2. ...

  5. linux命令行 随机排列,有趣的Linux命令行:随机输出唐诗宋词

    有趣的Linux命令行:随机输出唐诗宋词 fortune命令,随机输出一句话,或者是一句英文名言,或者是一首唐诗宋词来,如果没有唐诗宋词,那就需要用fortune-zh bkjia@bkjia:~$ ...

  6. java实现随机输出26个小写字母

    java实现随机输出26个小写字母 方法:在'a'加随机偏移量,随机偏移量用Math类的random方法实现 package com.word.word; //随机输出26个英文字母 public c ...

  7. shell随机输出一个人或多个人的学号及姓名

    随机输出3个人的学号及姓名 随机输出1个人的学好及姓名 输出结果: 输出结果: 转载于:https://www.cnblogs.com/HeyJude/p/6195270.html

  8. java代码--------随机输出100个随机数,要求每行10个数

    总结:不敢爱你么开口 package com.sads;///实现随机输出100个数字,数字是0到9之间,每行输出10个 public class Wss {public static void ma ...

  9. Java生成随机数并随机输出不重复的值

    一个小Demo,网上有很多类似的代码,测试了一下网上的代码为了让随机输出值不重复,重复循环达到目的的效果,但循环次数过多严重影响性能. 通过ArrayList的remove方法实现了生成随机数并随机输 ...

最新文章

  1. 自定义拦截器和提供的拦截器
  2. “内卷化”的快手与抖音——2020年短视频的“无聊经济”往何处去
  3. 快速构建Windows 8风格应用31-构建磁贴
  4. Shell脚本之IP网络地址和广播地址计算
  5. hash值 更改git_Git切换版本
  6. c++ cdi+示例_C ++'not'关键字和示例
  7. 【Hibernate3.3复习知识点二】 - 配置hibernate环境(annotations)
  8. INSTALL_FAILED_INVALID_APK: Split lib_slice_X_apk was defined multiple times异常
  9. 为什么南派三叔要封笔?
  10. sql 两大类 DDL数据定义语言 和DCL数据控制语言
  11. vs code 问题:preLaunchTask“build”已终止,退出代码为 1。解决办法
  12. 一看数分就想写个程序玩玩。。。
  13. 关于OpenGL源码下载说明
  14. 盘点2022年大数据技术下常用的20个可视化工具,值得收藏
  15. 全市场等权中位数_市场指数估值周报20200418
  16. 全志T5环境编译错误解决
  17. 美赛模板修改【超全版】
  18. pip更换源,换成国内镜像
  19. Mac电脑怎样自定义Safari浏览器主页?
  20. Jetson连接百兆交换机丢包笔记

热门文章

  1. 用手写一个工具的过程讲清楚Go反射的使用方法和应用场景
  2. 给大家推荐几位顶级Go语言专家写的公众号
  3. gzip解压str python_有哪些你不知道的Python小工具
  4. Git常见指令的本质
  5. 微信小程序 official-account组件 关注公众号
  6. 一张图展示一段js代码的一生,变量对象、作用域链、闭包、this
  7. window下遍历并修改文件
  8. EOS Platform 7.2 安装
  9. HetGNN-Heterogeneous Graph Neural Network 异构图神经网络 KDD2019
  10. js中的Promise简单总结(ES6)