\n (LF, ASCII 10) 或 \r\n (CRLF)。\n。\n,需 <br> 或 <p> 標籤換行。直接輸出資料庫欄位導致所有內容擠在單行。
<%!
public String turn(String str) {
if (str == null) return "";
// 處理換行符 \n (Unix) 或 \r\n (Windows)
str = str.replaceAll("\\r\\n|\\r|\\n", "<br>");
// 選擇性:保留空格顯示 (將空格轉為 )
str = str.replaceAll(" ", " ");
return str;
}
%>
<%= turn(rs.getString("content")) %>
<→< 等),再轉換換行,避免腳本注入。<br>,但會增加儲存體積且失去原始文本彈性,建議輸出端處理。white-space: pre-wrap;,直接保留原始換行,無需轉換:<div style="white-space: pre-wrap;"><%= rs.getString("content") %></div>
此方案更簡潔、保留原始格式,為現代 Web 應用首選。