PHP:如何在textarea中遍历输出纯任务数据,去除ol/li标签?
问题解决方法
核心问题分析
- 错误使用了
<input type="textarea">,HTML中不存在该类型的input标签,正确的多行文本输入控件是<textarea>。 - 将
<ol>、<li>这类HTML标签写入value属性后,textarea会把它们当作纯文本直接显示,无法解析成列表结构。
修正后的代码
直接在<textarea>标签内部循环输出任务内容,让每个任务单独占一行:
<textarea name="task" class="form-control task" rows="5"> <?php foreach($val['task'] as $task) { ?> <?php echo $task; ?> <?php } ?> </textarea>
如果需要适配不同系统的换行规则,可以在每个任务后添加标准换行符:
<textarea name="task" class="form-control task" rows="5"> <?php foreach($val['task'] as $task) { echo $task . PHP_EOL; } ?> </textarea>
说明
<textarea>无需设置value属性,内容直接写在标签的开闭标签之间即可。- 循环时让每个任务单独换行(或手动添加换行符),就能在textarea中呈现多行的任务列表,且不会显示任何HTML标签。
内容的提问来源于stack exchange,提问作者Sana Shaikh
相关产品推荐
相关产品推荐

