/*此代码需要接受传递过来的参数,比如$num0=$guan;//每个关键字替换次数$num1=$cishu;//替换总次数*/
$result=mysqli_query($db,"select * from 数据表") or die($mistake);
$arry_1=mysqli_fetch_all($result);//获取全体结果集,索引数组
$count=count($arry_1);//获取总行数
//构造关键词+链接一维索引数组
function _Desc($a, $b) { //自定义排序函数
return (strlen($a[0]) < strlen($b[0])) ? 1 : -1;
}
$keysql= array();//构造关键词库
for($btn=0;$btn<$count;$btn++)//获取关键词所在字段的所有行
{
$t33333=$arry_1[$btn][1].",".$arry_1[$btn][2];
$keysql[$btn]="$t33333";//构造关键词库,索引数组
}
$makelink = array();//关键词/链接分解,定义形成数组,分隔成2维索引数组
foreach($keysql as $exde)
{
$makelink[] = explode(',',$exde);//$exde为要分割的数组,$makelink加了中括号,是隐形索引数组,没有下标
}
usort($makelink, '_Desc');//进行关键词降序
//原文如下
$str = $text1;
//$makelink数组二维索引数组
foreach($makelink as $i=>$row) //遍历形成数组,
{
list($key1, $url) = $row;//row数组就是2维仅包含row[0]key,row[1]links
$num0=$guan;//每个关键字替换次数
$num1=$cishu;//替换总次数
$str = preg_replace('/('.$row[0].')/su', '<a href="'.$row[1].'">'.$key1.'</a>', $str, $num0,$num1); // 所有的匹配项都会被替换,把文字替换成链接
}
//输出结果
echo $str;
?>