
本文介绍如何使用 php 对指定 div 内的歌词文本按换行符分割,并在每一行末尾(`
` 前)动态插入递增序号,实现类似“第1行、第2行…”的排版效果。
在网页开发中,有时需要对纯文本内容(如歌词、诗歌或用户提交的多行输入)进行结构化编号,但
标签本身不具备语义性,无法像
- 或
那样通过 CSS ::before 或计数器(counter-increment)直接实现行号渲染。因此,必须借助服务端逻辑完成预处理。
推荐使用 PHP 的 explode() 函数,以系统换行符 PHP_EOL 为分隔符将完整歌词字符串拆分为数组,再遍历并拼接序号。注意:实际 HTML 中的
往往由 \n、\r\n 或用户粘贴行为生成,因此需统一归一化换行符,避免因换行符不一致导致分割失败。
✅ 正确示例代码如下:
$line) {
if (trim($line) !== '') { // 跳过空行,避免输出 "10
" 后跟 "11
" 的错位
echo htmlspecialchars($line) . ' ' . ($index + 1) . '
';
}
}
?>? 关键注意事项:










