我得到一個 html 檔案的內容:
ob_start();
include ("myFile.html");
$html = ob_get_contents();
現在我想通過郵件以純文本形式發送 $html 以顯示代碼。我試著"<pre>".$html."</pre>"和"<code>".$html."</code>"
但我得到的不是普通代碼。你能幫助我嗎?
uj5u.com熱心網友回復:
嘗試類似:
<?php
$filePath = __DIR__ . '/myFile.html';
$content = file_get_contents($filePath);
// Escape.
$content = htmlspecialchars($content);
// Makes lines visible.
$content = preg_replace('/\n/', '<br>' . PHP_EOL, $content);
echo $content;
請注意,我使用單引號來稍微提高性能,但是當使用雙引號時,模式將是
"/\\n/"(轉義反斜杠,但即使不轉義也應該作業)。
uj5u.com熱心網友回復:
我知道 Top-Master 回答了這個問題,但這是另一種方法,仍然使用include. 我對 PHP 的了解還不夠多,無法了解那些可能更安全的花哨方法。
該<pre>標簽不保證內容將逐字顯示。例如<pre><a>Hello</a></pre>將顯示為Hello,而不是 <a>Hello</a>。要解決這個問題,您可以使用 < (小于號)和 &rt; (大于號)。如果您需要實際的和號(“&”),您可以使用 &。
這個修改后的版本應該轉義 <、> 和 &。在安全方面不要依賴于此。
ob_start();
include ("myFile.html");
$html = ob_get_contents();
$html = str_replace("&", "&". $html);
$html = str_replace("<", "<". $html);
$html = str_replace(">", ">", $html);
$html = str_replace("\n", "<br/>");
uj5u.com熱心網友回復:
要在瀏覽器中顯示 HTML 代碼,只需使用readfile()并為 Text/Plain 設定標題。
<?php
header('Content-Type: text/plain; charset=UTF-8');
readfile("myFile.html");
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/371861.html
上一篇:使用ClipboardJS時如何獲取點擊按鈕的ID?
下一篇:單擊時重置所有按鈕狀態
