php 中提供 htmlspecialchars() 和 nl2br() 等函數,用于將原始文本轉換為 html 實體或換行符。這些函數可以在動態生成 html 代碼(如可編輯表單、導航欄或圖表)或防止 xss 攻擊等場景中發揮作用。
PHP 函數返回 HTML 代碼的應用場景
PHP 中提供了一些函數,例如 htmlspecialchars() 和 nl2br(),可將原始文本轉換為 HTML 實體或換行符。在某些情況下,需要在 PHP 腳本中動態生成 HTML 代碼,這時這些函數便派上用場。
實戰案例:創建可編輯的 HTML 表單
考慮以下場景:您有一個 MySQL 數據庫,其中存儲了員工信息。您需要創建一個動態表單,以允許用戶編輯選定員工的詳細信息。
<?php
// 連接到數據庫
$db = new <a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/15713.html" target="_blank">mysql</a>i('localhost', 'root', '', 'employees');
// 獲取待編輯的員工的 ID
$employee_id = $_GET['id'];
// 準備查詢語句
$stmt = $db->prepare('SELECT * FROM employees WHERE id = ?');
$stmt->bind_param('i', $employee_id);
$stmt->execute();
// 獲取結果集
$result = $stmt->get_result();
$employee = $result->fetch_assoc();
// 使用 htmlspecialchars() 函數防止 XSS 攻擊
$name = htmlspecialchars($employee['name']);
$email = htmlspecialchars($employee['email']);
// 創建表單
echo <<<HTML
<form method="post" action="update.php">
<input type="hidden" name="id" value="$employee_id">
<label for="name">姓名:</label><input type="text" name="name" value="$name">
<br>
<label for="email">郵件地址:</label><input type="text" name="email" value="$email">
<br>
<input type="submit" value="更新">
<input type="reset" value="重置">
</form>
HTML;
?>
登錄后復制
在這個例子中,htmlspecialchars() 函數用于將員工的姓名和電子郵件地址轉義為 HTML 實體。這可以防止跨站腳本 (XSS) 攻擊,其中攻擊者試圖通過注入惡意腳本來劫持用戶瀏覽器。
其他應用場景:
創建動態菜單或導航欄
生成帶有格式的文本或表格
處理用戶輸入并將其顯示到頁面上
創建交互式圖表或可視化






