2012-01-09 102 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]; 
?>