如何随机向带有HTML标记的字符串插入关键字

时间:2023-01-07 18:38:14
不带HTML标记的我已经实现,代码如下:
$times = 4;	//关键字出现频率
$keyword = "【fuck】"; //要替换的关键字
$str = "阿克苏绝对法拉克世界疯了阿拉山口地方就看到las决哦iasfls.sdmflaskdf洛杉矶的法律卡死噢iuoi020990拉开时间的发生了疯狂";
$strlen = mb_strlen($str, "gb2312");
//随机生成插入位置,根据$times决定插入频率
for ( $i = 0; $i < $times; $i ++ )
{
$arr[] = mt_rand(0, $strlen);
}
$arr = array_unique($arr); //过滤数组重复元素
sort($arr); //对数组重新排序,按照值由小到大
$i = 0;
$str_new = "";
foreach( $arr as $v )
{
$str_new .= mb_substr($str, $i, $v - $i, "gb2312") . $keyword;
$i = $v;
}
$str_new .= mb_substr($str, $i, $strlen - $i, "gb2312");
echo($str_new);


请教大神。万分感谢!分只有这么多了。最好列出关键代码。

4 个解决方案

#1


咋没人回复呢?

#2


用Simple HTML DOM分析下内容,找出大块的内容,然后插入,否则你根本没有办法区分到底是在哪里查

#3


我现在是这么做的:直接在中文“,”后面加得了,没有必要刻意去追求。

#4


该回复于2011-04-27 14:03:51被版主删除

#1


咋没人回复呢?

#2


用Simple HTML DOM分析下内容,找出大块的内容,然后插入,否则你根本没有办法区分到底是在哪里查

#3


我现在是这么做的:直接在中文“,”后面加得了,没有必要刻意去追求。

#4


该回复于2011-04-27 14:03:51被版主删除