Home >Backend Development >PHP Tutorial >PHP随机插入关键字到有HTML的内容该怎么实现

PHP随机插入关键字到有HTML的内容该怎么实现

WBOY
WBOYOriginal
2016-06-13 12:19:261147browse

PHP随机插入关键字到有HTML的内容该如何实现?
因为是随机位置,也有可能插入到 

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

能否先剥离HTML标签,随机插入后,再还原呢?希望大家帮帮我。
------解决思路----------------------
好吧,注释

<br />function randomInsert($txt,$insert){//txt 内容;insert要插入的关键字,可以是链接,数组<br />	//将内容拆分成数组,每个字符都是一个value,英文,中文,符号都算一个,只能在utf-8下中文才能拆分<br />    preg_match_all("/[\x01-\x7f]<br><font color='#FF8000'>------解决思路----------------------</font><br>[\xe0-\xef][\x80-\xbf]{2}/", $txt, $match);<br /><br />    $delay=array();<br />    $add=0;<br />	//获取不能插入的位置索引号($delay 数组),也就是< > 之间的位置<br />    foreach($match[0] as $k=>$v){<br />        if($v=='<') $add=1;<br />        if($add==1) $delay[]=$k;<br />        if($v=='>') $add=0;<br />    }<br /> <br />    $str_arr=$match[0];<br />    $len=count($str_arr);<br /> <br />    foreach($insert as $k=>$v){<br />		//获取随机插入的位置索引值<br />        $insertk=insertK($len-1,$delay);<br />		//循环将insert数据 拼接到 随机生成的索引<br />        $str_arr[$insertk].=$insert[$k];<br />    }<br />	//合并插入 关键词后的数据,拼接成一段内容<br />    echo join('',$str_arr);<br />}<br /><br />function insertK($count,$delay){//count 随机索引值范围,也就是内容拆分成数组后的总长度-1;delay 不允许的随机索引值,也就是不能在 < > 之间<br />    $insertk=rand(0,$count);<br />    if(in_array($insertk,$delay)){//索引值不能在 不允许的位置处(也就是< > 之内的索引值)<br />        $insertk=insertK($count,$delay);//递归调用,直到随机插入的索引值不在 < > 这个索引值数组中<br />    }<br />    return $insertk;<br />}<br /><br />

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn