一个简单的随机广告插入代码,含广告重复判断
<?php
header("Content-type:text/html;Charset=utf8");
//定义广告数组
$ad[1] = '广告1';
$ad[2] = '广告2';
$ad[3] = '广告3';
$ad[4] = '广告4';
$ad[5] = '广告5';
$ad[6] = '广告6';
$ad[7] = '广告7';
$ad[8] = '广告8';
$ad[9] = '广告9';
$ad[10] = '广告10';
$ad[11] = '广告11';
$ad[12] = '广告12';
$numInsert = 1000; //定义每1000字插入一次
//测试的章节内容
$str = "这里有5000字";
$textLength = mb_strlen($str);
$index = ceil($textLength / $numInsert);
$adLen = count($ad);
$adHas = [];
$newStr = '';
for ($i = 0; $i < $index; $i++) {
$offset = $i * $numInsert;
$randNum = rand(1, $adLen);
while (true) {
if (in_array($randNum, $adHas)) {
$randNum = rand(1, $adLen);
} else {
break;
}
}
$adHas[] = $randNum;
$newStr .= mb_substr($str, $offset, $numInsert) . '<br />-----' . $ad[$randNum] . '-----<br />';
}
echo $newStr;