これにより、真にランダムなリンクが作成されます。一定数の keyword_string セット (つまり、keyword_string_1 = "key1 key2 key3"、keyword_string_2 = "key2 key3 key1" など) が必要であり、ランダムなセットを選択して各場所にアタッチする場合、このメソッドを使用できます。より単純なスケールで使用されます。これを高速化する方法もおそらくいくつかあります。
$keyword_string = "key1 key2 key3 key4 key5";
function urlX($location) {
global $keyword_string;
$keyword_string = @explode(" ", $keyword_string);
if(is_array($keyword_string)){
$total = count($keyword_string);
$random_keys = Array();
for($i=0; $i<$total; $i++){
$new = rand(0,$total-1);
while(in_array($new,$random_keys)){
$new = rand(0,$total-1);
}
array_push($random_keys, $new);
}
}
$page = "";
foreach($random_keys as $key){
$page .= $keyword_string[$key] . " ";
}
return $location . "/" . urlencode(trim($page)) . ".html";
}
新規追加:
上記のコードを一定量のランダム文字列に適応させたものを次に示します。追加の文字列をプリロードして、$keyword_string
配列の末尾に追加できます。
$keyword_string_1 = "key1 key2 key3 key4 key5";
$keyword_string_2 = "key2 key3 key4 key5 key1";
$keyword_string_3 = "key3 key4 key5 key1 key2";
/// ADD MORE HERE IF YOU LIKE
$keyword_string = Array($keyword_string_1, $keyword_string_2, $keyword_string_3);
function urlX($location) {
global $keyword_string;
if(is_array($keyword_string)){
$total = count($keyword_string);
$random_keys = Array();
$page = $keyword_string[rand(0,$total-1)];
}
return $location . "/" . urlencode(trim($page)) . ".html";
}
print urlX("http://www.google.com"); /// SIMPLE CALL TO NEW FUNCTION urlX()
新規追加:
$keyword_string_1 = "key1 key2 key3 key4 key5";
$keyword_string_2 = "key2 key3 key4 key5 key1";
$keyword_string_3 = "key3 key4 key5 key1 key2";
function urlX($location) {
global $keyword_string_1, $keyword_string_2, $keyword_string_3;
if($location == "http://www.url1.com"){ /// CHANGE THESE TO ACTUAL URLS
return $location . "/" . urlencode($keyword_string_1) . ".html";
}else if($location == "http://www.url2.com"){
return $location . "/" . urlencode($keyword_string_2) . ".html";
}else if($location == "http://www.url3.com"){
return $location . "/" . urlencode($keyword_string_3) . ".html";
}else{
return false;
}
}
print urlX("http://www.url1.com");