我想将文本拆分为一个数组,其中分隔符是一个或多个“\n”,然后将数组的内容作为元素放入无序的 html 列表中。当我在主题字符串中有 $1 时使用 preg_split 执行此操作时,我会得到一个奇怪的结果。只需查看拆分结果产生的数组就可以了,$1 似乎没有引起任何问题,但是当我遍历数组并将其放入 html 列表时,它会产生与预期不同的结果(参见下面的示例)
就像这是主题字符串一样:
“第一行
第二行 $1
第三行”
它应该变成:
- 第一行
- 第二行 $1
- 第三行
但它变成:
- 第一行
- 第二行第一行 第二行 $1 第三行
- 第三行
有谁知道为什么会这样?$1 是某种具有保留含义的特殊 html 或 php 字符吗?
这是我写的代码:
$listElements = preg_split('/[\n]+/',$subject);
$output = '<ul>';
foreach ( $listElements as $val ) {
$output .= '<li>' . $val . '</li>';
}
$output .= '</ul>';