2012-01-09 112 views
0

我想將此javascript(可正常工作)轉換爲PHP函數,以便所有代碼不必出現在網頁的源代碼中。將javascript轉換爲PHP函數

<script type="text/javascript"> 

    var images = [], 
    index = 0; 

    images[0] = "<a href = 'http://www.random_target1.com' target='_blank'><img src='//www.random_target1.com/random_banner.jpg' width='120' /></a>"; 

    images[1] = "<a href = 'http://www.random_target2.com' target='_blank'><img src='//www.random_target2.com/random_banner.jpg' width='120' /></a>"; 

    images[2] = "<a href = 'http://www.random_target3.com' target='_blank'><img src='//www.random_target3.com/random_banner.jpg' width='120' /></a>"; 

    index = Math.floor(Math.random() * images.length); 
    document.write(images[index]); 

</script> 

我試圖在PHP文件這個PHP函數,並認爲我可以調用它的結果,從HTML文件,因此,只有確定值將出現在HTML源代碼。不過,這段代碼打破了頁面。

public function getRandom() 
{ 
    $images = array(); 
    $index = 0; 

    $images[0] = "<a href = 'http://www.random_target1.com' target='_blank'><img src='//www.random_target1.com/random_banner.jpg' width='120' /></a>"; 

    $images[1] = "<a href = 'http://www.random_target2.com' target='_blank'><img src='//www.random_target2.com/random_banner.jpg' width='120' /></a>"; 

    $images[2] = "<a href = 'http://www.random_target3.com' target='_blank'><img src='//www.random_target3.com/random_banner.jpg' width='120' /></a>"; 

    $index = Math.floor(Math.random() * $images.length); 
    return $images[$index]; 
} 
+2

你有沒有嘗試過自己? – xbonez 2012-01-09 09:36:39

+0

無論您是將JavaScript作爲JavaScript還是PHP,它最終都會在網頁中成爲源代碼的一部分。根據您的要求,如果您想阻止此代碼出現在客戶端頁面網頁上,則需要重新設計您的應用程序。 – 2012-01-09 09:38:37

+0

發佈我試過的東西,下面是 – user1002456 2012-01-09 09:53:13

回答

1
$images = array(
"<a href = 'http://www.random_target1.com' target='_blank'><img src='//www.random_target1.com/random_banner.jpg' width='120' /></a>", 
"<a href = 'http://www.random_target1.com' target='_blank'><img src='//www.random_target1.com/random_banner.jpg' width='120' /></a>", 
"<a href = 'http://www.random_target1.com' target='_blank'><img src='//www.random_target1.com/random_banner.jpg' width='120' /></a>" 
); 
$index = rand(0, count($images)-1); 

echo $images[$index]; 
1

注意我用mt_rand代替蘭特。它通常被認爲是一個更好的隨機數函數。

<?php 
$images = array(); 

$images[0] = "<a href = 'http://www.random_target1.com' target='_blank'><img src='//www.random_target1.com/random_banner.jpg' width='120' /></a>"; 

$images[1] = "<a href = 'http://www.random_target2.com' target='_blank'><img src='//www.random_target2.com/random_banner.jpg' width='120' /></a>"; 

$images[2] = "<a href = 'http://www.random_target3.com' target='_blank'><img src='//www.random_target3.com/random_banner.jpg' width='120' /></a>"; 

$randIndex = mt_rand(0,sizeof($images)-1); 

echo $images[$randIndex]; 
?>