2014-03-06 90 views
0

我在做一個php項目! 問題是數組打印不正確。 其實我試圖從MySQL使用PHP檢索文本數據。 即時能夠檢索數據,但即時在文檔打印它不打印,因爲我想!陣列在php中未正確打印

echo "<td><p onclick=alert('".$arr[$t]."'); ><u>VIEW</u></p></td>"; 

$ arr [$ t]是我從數據庫中檢索到的文本數據。 它應打印像這樣(假定$ ARR [$ t]的有數據 「這是一個段落」)

但實際輸出是這樣的..
輸出在CHROME

<td><p onclick="alert('this" is a paragraph'); ><u>VIEW</u></p></td> 

在FIREFOX
輸出

<td><p paragraph');="" a="" is="" onclick="alert('this" ><u>VIEW</u></p></td> 


我不知道爲什麼會這樣。
請提前
感謝幫助我走出這個.. :)

回答

1

語法從Chrome輸出突出賦予它了 - 你有你的嵌套雙引號內使用雙引號,這是無效的HTML。

在渲染它之前,您應該使用類似htmlspecialchars(http://au2.php.net/manual/en/function.htmlspecialchars.php)的方法來轉義所有輸出。另外,你應該用引號將你的onclick處理程序包裝起來 - 例如。 onlick="alert('stuff stuff more stuff')",否則將無法正確解析。

+0

感謝您的回覆sevenseacat! 實際上,如果文本數據是單個單詞,它的工作正常.. 如果文本數據有超過1個單詞,第一個單詞是在雙引號之間打印..其餘單詞是在引號之後打印..多數民衆贊成確切的問題! – bharat