2017-04-24 90 views
0

我有这样的HTML标签(身体):使用PHP插入HTML标签

<body onload="startTime()" background="src/bg3.png"> 

,我试图改变刷新的背景,所以我取代了HTML标记与此PHP代码:

<?php 
    $id = rand(1, 7); 
    echo "<body onload=".'"'."startTime()".'"'."background=".'"'."src/bg". $id . ".png".'"'.'>'; 
?> 

它返回:

<body onload="startTime()" background="src/bg5.png"> 

其中BG后的数字是随机1和7之间

但问题是,当我检查元素body标签很简单:

<body> 

确实PHP只允许HTML代码插入如果它是由一个函数返回?

+0

'background'应该是'style'属性的一部分。您可以整天使用PHP操作HTML,没有什么特别的。 –

+1

“但问题是,当我检查元素的身体标记是简单的” - 这表明有多个身体标记或东西在页面加载后删除属性。 – Quentin

+0

你为什么要用'php'来做这件事..用一些客户端脚本语言就可以轻松完成..例如javascript .. – Lal

回答

0

决定再次使用的功能,试图(已经尝试过,但没有工作):

function changeBG() { 
     //generate a random number from min to max 
     var min = 1, max = 7; 
     var str1 = "src/bg", str2 = ".png" 
     var number = Math.floor(Math.random() * max) + min; 
     var path = str1.concat(number); 
     path = path.concat(str2); 
     document.body.background = path; 
    } 

这解决了,谢谢大家,帮助。

0

看来你有一些问题与报价..

<?php 
    $id = rand(1, 7); 
    echo "<body onload='startTime()' background='src/bg". $id . ".png'>"; 
?> 
0

尝试:

echo "<body onload='startTime()' style='background:url('src/bg{$id}.png')>"; 

你的刺是难走,但我觉得你搞砸串联。

背景是样式标签的一部分。我使字符串插值的Id部分而不是更多的连接,并把双引号放在双重作品中。