上一篇
🔥 最新动态(2025-08)
PHP 8.4 近期优化了字符串处理性能,多行文本的解析速度提升约15%!这对于需要处理大量表单数据(比如用户评论、日志系统)的开发者是个好消息~
当用户需要输入段落文字(如个人简介、商品描述)时,单行文本框显然不够用,这时候就需要:
<textarea>
多行文本输入框 <form action="submit.php" method="post"> <label for="content">留言内容:</label> <textarea id="content" name="content" rows="5" <!-- 默认显示5行 --> cols="40" <!-- 每行约40字符 --> placeholder="请畅所欲言~" ></textarea> <button type="submit">提交</button> </form>
💡 小技巧:用 resize: none;
CSS 可以禁止用户拖动调整文本框大小
$userInput = $_POST['content']; // 使用 HEREDOC 保留换行和格式 $formattedText = <<<TEXT {$userInput} 提交时间:{$__SERVER['REQUEST_TIME']} TEXT; echo nl2br($formattedText); // nl2br() 将换行符转为<br>
$template = <<<'EOD' 这是一段固定模板, 即使里面有 $变量 也不会被解析哦! EOD;
$message = "第一行\n第二行\n第三行"; // 注意:单引号内 \n 会原样输出,双引号才会解析为换行
用户提交的多行文本可能包含:
防护措施:
// 过滤HTML标签 $safeText = strip_tags($_POST['content']); // 数据库入库前转义 $sqlSafeText = mysqli_real_escape_string($conn, $safeText); // 或者用预处理语句(更推荐) $stmt = $conn->prepare("INSERT INTO comments (content) VALUES (?)"); $stmt->bind_param("s", $safeText);
用户评论系统:
<textarea>
收集评论 trim()
去除首尾空白 strlen()
检查字数限制 htmlspecialchars()
转义 if(strlen($userInput) > 1000){ die("评论不能超过1000字哦~"); }
❓ Q:为什么文本框里的换行符提交后消失了?
✅ 答:HTML 表单默认会将换行转为 \n
,用 nl2br()
或 CSS white-space: pre-wrap;
即可保留
❓ Q:如何限制每行最大字符数?
✅ 答:可以用 JS 监听 textarea
的 input
事件,按 \n
分割后检查每行长度
🎯 总结
<textarea>
+ PHP 多行字符串 试着在你的下一个表单项目中用起来吧!如果有问题,欢迎在评论区讨论~ 💬
本文由 隆安翔 于2025-08-02发表在【云服务器提供商】,文中图片由(隆安翔)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://up.7tqx.com/wenda/510940.html
发表评论