Heim  >  Artikel  >  Backend-Entwicklung  >  用随机数轮换文章中的多个网址,要求每个网址后面的随机数都不同

用随机数轮换文章中的多个网址,要求每个网址后面的随机数都不同

WBOY
WBOYOriginal
2016-06-13 13:23:42875Durchsuche

用随机数替换文章中的多个网址,要求每个网址后面的随机数都不同
数据库里面有很多文章。文章里面有很多网址
我想在网址后面添加随机数,但是每个网址后面的随机数都要是不同的。

我写了一个 能替换,但是结果是替换后每个网址后面的随机数都一样了

for($i=1;$i$duoyu=rand(1,111);
$res->fn_sql("update content set body=replace(body,'com','com$duoyu') where aid='$i'");
}

请大侠帮忙

------解决方案--------------------
上面的代码还不能保证在一次循环中生成的随机数都是唯一的,要是需求比较严格的话,代码还需要修改一下:

PHP code
function addRandNumber($matches) {
    global $ar;
    $n = rand(1, 111);
    while(in_array($n, $ar)) $n = rand(1, 111);
    $ar[] = $n;
    return $matches[1].$n;
}
$body = "url_com<br>url_com<br>url_com";
$ar = array();
$body = preg_replace_callback(
                "|(com)+?|",
                'addRandNumber',
                $body);
<br><font color="#e78608">------解决方案--------------------</font><br>
jquery实现吧。很简单的。<br><br>$("A").each(function(index, obj)<br>           {<br>               $(obj).attr("href", $(obj).attr("href")+"?rand="+Math,random);<br>           })
<br><font color="#e78608">------解决方案--------------------</font><br>
探讨

我算是看出来了,csdn高手总是那么几个
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn