按换行符拆分 PHP 字符串
处理多行输入时,通常需要将字符串拆分为单独的数组线。 PHP的explode函数可以用于此目的,但它需要正确的分隔符来准确地分割字符串。
最初的尝试,使用explode('nr', $_POST['skuList']),失败了因为它假定换行符是 Windows 风格的回车符,后跟换行符 (rn)。但是,根据操作系统和输入源的不同,换行符可能会有所不同。
最佳实践:使用 PHP_EOL
要解决此系统依赖性,建议使用PHP 常量 PHP_EOL。该常量表示当前系统的行尾字符,确保无论环境如何,字符串的分割都是一致的。
$skuList = explode(PHP_EOL, $_POST['skuList']);
注意:数据中的系统依赖性
虽然使用 PHP_EOL 使代码系统独立,但在系统之间移动数据时了解潜在问题很重要。新系统的 PHP_EOL 常量可能有所不同,可能会破坏存储的数据。为了避免这种情况,请在存储之前完全解析和清理数据,以删除依赖于系统的组件。
浏览器特定的换行符
在此特定用例的上下文中,值得注意的是,该字符串来自浏览器。浏览器根据操作系统使用不同的换行符。要处理所有可能性,可以使用以下正则表达式:
$skuList = preg_split('/\r\n|\r|\n/', $_POST['skuList']);
此表达式匹配任何可能的换行符,确保无论来源如何,字符串都能正确分割。
以上是如何在 PHP 中可靠地分割多行字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!