乱数を使用して記事内の複数の URL を置き換えます。各 URL の背後にある乱数が異なる必要があります
データベースには多数の記事があります。記事内に多数の URL があります
URL の後に乱数を追加したいのですが、各 URL の後の乱数は異なる必要があります。
置換を書きましたが、結果は各 URL の後の乱数が置換後も同じになります
for($i=1;$i<=60;$i++) {
$duoyu=rand(1,111);
$res->fn_sql("update content set body=replace(body,'com','com$duoyu') where helps='$i'" ) ;
}
助けてください
-----解決策------ ---
上記のコードは、ループ内で生成される乱数が一意であることを保証しません。要件がより厳しい場合は、コードを変更する必要があります:
関数 addRandNumber($matches) { グローバル $ar; $n = ランド(1, 111); while(in_array($n, $ar)) $n = rand(1, 111); $ar[] = $n; $matches[1].$n を返します。 } $body = "url_com
url_com
url_com"; $ar = 配列(); $body = preg_replace_callback( "|(com)+?|", 'addRandNumber', $body);
------解決策------------------
jQueryで実装してみます。とてもシンプルです。
$("A").each(function(index, obj)
{
$(obj).attr("href", $(obj).attr("href") +"?rand="+数学,ランダム);
})
------解決策------------------