2017-04-24 121 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部分而不是更多的連接,並把雙引號放在雙重作品中。