看完這篇文章,你必定忘不掉htmlentities的用法php
今天有個需求,就是一個PHP開發的網址中,有一個頁面能夠提供給用戶修改已經存在的PHP文件中的代碼,並POST到服務器上保存。
每次將讀出的內容輸出到屏幕上的時候,都是空白的。這個問題困擾了我好久,若是你遇到的不是相似的問題,或者相似的反饋結果,這篇文章可能對你的幫助很小。html
這裏介紹的是背景中的POST部分,讀代碼部分相同。
首先是接受POST動做內的代碼是,code爲POST過來用戶修改的代碼。服務器
echo $_POST['code'];
從文件中讀出的內容到文件上是註釋,這是應爲php並非html代碼,須要轉換一下,添加htmlentities
函數
函數
添加後,頁面的源碼是這個樣子了
在控制檯看是正常的,頁面上卻不是
code
須要添加code
標籤,添加後htm
<pre><code><?php echo htmlentities($_POST['code']); ?></code></pre>
順便把讀文件部分的核心代碼頁放上吧blog
<pre class="hljs"><code class="php"><?php $file = "sys/func.php"; echo htmlentities(file_get_contents($file)); ?></code></pre>