在 PHP 中处理文本时,您可能需要将字符串分成行。传统上,这是使用以换行符作为分隔符的爆炸函数来完成的。但是,如果输入字符串包含换行符的变化,这种方法可能会导致意外结果。
提供的代码:
$skuList = explode('\n\r', $_POST['skuList']);
的意思是将 skuList 输入拆分为 Windows 样式 (rn) 和 UNIX 样式 (n) 换行符。但是,这种方法不是系统独立的,并且在使用不同换行符的系统上可能会失败。
为了确保系统独立性,请考虑使用 PHP_EOL 常量:
$skuList = explode(PHP_EOL, $_POST['skuList']);
PHP_EOL 代表当前系统的换行符,确保行为一致。或者,您可以使用 preg_split 进行更精细的控制:
$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);
此正则表达式匹配所有可能的换行变体,确保全面拆分。
使用与系统无关的常量使得您的代码是可移植的,但需要注意的是,在具有不同换行约定的系统之间移动数据时可能会出现问题。为了避免这种情况,请在存储之前彻底解析数据并删除任何与系统相关的元素。
以上是如何在 PHP 中可靠地将字符串拆分为行,处理各种换行符?的详细内容。更多信息请关注PHP中文网其他相关文章!