0

このスクリプトを使用して、会社が .xls リストから持っている店舗の場所ごとに静的な html ページを生成し、スクリプトはキーワード文字列に基づいて店舗の場所の後に URL をエンコードします。

現在のように:

keyword_string = "key1 key2 key3 key4 key5";

function urlX($location) {
        return $this->xURL($location).'/'.urlencode($this->keyword_string).'.html';
    }

keyword_string の 2 つまたは 3 つのバリエーションを読み取らせ、html urlencode をランダム化するにはどうすればよいですか?

4

1 に答える 1

0

これにより、真にランダムなリンクが作成されます。一定数の 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");
于 2013-01-25T16:46:38.910 に答える