在换行符上可靠地分割用户提交的文本区域值[重复]

2024-02-06

字符串输入来自文本区域,用户应该在新行上输入每个项目。

处理表单时,很容易将文本区域输入分解为单个项目的数组,如下所示:

$arr = explode("\n", $textareaInput);

它工作正常,但我担心它在不同系统中无法正常工作(我目前只能在 Windows 中进行测试)。我知道换行符表示为\r\n或只是\r跨不同平台。上面这行代码在 Linux、Solaris、BSD 或其他操作系统下也能正常工作吗?


您可以使用preg_split http://php.net/manual/en/function.preg-split.php要做到这一点。

$arr = preg_split('/[\r\n]+/', $textareaInput);

它将其拆分为以下任意组合\r or \n人物。您还可以使用\s包括任何空白字符。

Edit
我突然想到,虽然前面的代码工作正常,但它也删除了空行。如果您想保留空行,您可能想尝试以下操作:

$arr = preg_split('/(\r\n|[\r\n])/', $textareaInput);

它基本上是从寻找 Windows 版本开始的\r\n,如果失败,它会查找旧的 Mac 版本\r或 Unix 版本\n.

例如:

<?php
$text = "Windows\r\n\r\nMac\r\rUnix\n\nDone!";
$arr = preg_split('/(\r\n|[\r\n])/', $text);
print_r($arr);
?>

Prints:

Array
(
    [0] => Windows
    [1] => 
    [2] => Mac
    [3] => 
    [4] => Unix
    [5] => 
    [6] => Done!
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在换行符上可靠地分割用户提交的文本区域值[重复] 的相关文章

  • 将 int 转换为 float/double [重复]

    这个问题在这里已经有答案了 当我想要转换时遇到了麻烦integer价值观float 带点的数字 a 7200 b a 3600 echo b 2 b floatval b echo b 2 但它应该回响2 0 or 2 00 我也尝试过se
  • 测试 CodeIgniter 会话变量的正确方法是什么?

    获取以下代码片段 测试确保会话变量不为空的最佳方法是什么 如果稍后在我的脚本中 我调用以下内容 第一个打印正确 但在第二个我收到消息 未定义的变量 已登录 我尝试过使用 empty and isset 但两者均未成功 我还尝试使用向后执行
  • 在 Shell 中提取匹配模式后的字符串

    如何提取 Shell 脚本中匹配模式后面的任何字符串 我知道 Perl 脚本中的此功能 但不知道 Shell 脚本中的功能 以下是示例 subject 01 这是一个示例主题 可能会有所不同 我必须提取 Subject 01 后面的任何字符
  • 如何在 Yii2 应用程序中显示多个选择下拉列表中的选定值?

    我正在研究 Yii2 我正在使用这样的自定义数组创建多个选择下拉菜单 在控制器文件中 all groups Groups find gt where group created by id gt orwhere new Expression
  • 统计数据库中的注册用户数

    我想反映在我的网站上注册的人数 只有我拥有的代码不起作用 它让我知道它不可能 转换为字符串 另外 当我将其设置为在 HTML 中调用的函数时 我收到 connection 未定义的错误 require once connect php sq
  • AJAX 安全问题

    我希望能够解决一些关于 AJAX 安全性的问题 这是我试图理解的一个场景 假设我正在使用 AJAX 向页面请求一些半敏感材料 例如 我将把用户的 ID 传递给一个 php 文件 并返回一些关于他们自己的信息 现在 是什么阻止人们模拟此 Ja
  • PHP:解析器 asp 页面 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 早上好 我可以用 php 解析一个
  • WordPress 子主题 -functions.php 复制 - 无法“重新声明”

    我正在使用带有儿童主题 starkers child 的 Starkers 我需要编辑functions php来声明一个菜单 所以我复制了functions php JS文件夹和external文件夹 它们都在functions文件中的某
  • 如何将值发布到输入框中?

    Intro I would like to get the current time after clicking at click and POST the value into input text box Note 假设包含引导样式表
  • 多维数组中的数组排列保留键 PHP

    这两天我一直在疯狂地尝试完成这个任务 也许你可以启发我 这是针对赛马投注排列的 每次用户玩游戏时 我都会得到一个多维数组 2 个级别 第一级包含比赛 ID 第二级包含用户为该比赛选择的马匹 它看起来像这样 play array 4 gt a
  • 不区分大小写的 array_unique

    我正在尝试编写几行代码来创建一个不区分大小写的数组唯一类型函数 这是我到目前为止所拥有的 foreach topics as value lvalue strtolower value uvalue strtolower value if
  • 类 Doctrine\Common\Collections\ArrayCollection 不是有效的实体或映射的超类

    我有三个实体 特征值 php
  • Monolog:通过邮件发送错误日志会导致每个发送的错误都会收到一封额外的邮件

    对于通过邮件发送的每个错误日志 我们都会收到另一封额外的电子邮件 其中包含 2 行 smtp 调试日志消息 新创建的 symfony 演示 symfony new demo 配置独白以通过邮件发送错误消息 如docs https symfo
  • 在 SELECT 中将列值拆分为两列?

    我在 varchar 列中有一个字符串值 它是一个由两部分组成的字符串 在它到达数据库之前分割它不是一个选择 该列的值如下所示 one column part1 part2 part1 part2 所以我想要的是一个如下所示的结果集 col
  • websockets 如何处理同一浏览器的两个选项卡

    I have 1 个 PHP 服务器 提供 http 请求 和 1 node js 发布更新的数据消息 每个连接都带有 websocket php 服务器设置其 cookie 在一个浏览器中 此 cookie 可在所有选项卡中使用 当浏览器
  • PHP cURL 看不到 /etc/hosts 文件

    我在让 PHP cURL 库识别我在我的文件中创建的别名时遇到了麻烦 etc hosts file 这就是我的 etc hosts现在归档 192 168 0 20 www example dev 在另一端 192 168 0 20 Apa
  • 从 URL 任何文件类型创建图像

    我知道imagecreatefromgif https www php net manual en function imagecreatefromgif php imagecreatefromjpeg https www php net
  • Laravel 4.2 Composer 安装错误:“无法扫描类”

    我想通过 Composer 在新的 Laravel 4 2 安装上安装一些软件包 但是 我遇到了例外 这是我的作曲家文件 name laravel laravel description The Laravel Framework keyw
  • 从 $i 获取值,顺序被打乱

    for i 0 i lt count name i some output ommited td td
  • 通过 IP 地址限制 Laravel 错误日志

    When debug被设定为true在 Laravel 的app config php有什么方法可以限制结果Whoops包含对某些 IP 地址的堆栈跟踪的错误页面 并且不在该列表中的 IP 显示特定视图 Thanks 没有内置 但是你可能可

随机推荐

  • 如何构造HttpPostedFileBase?

    我必须为此方法编写一个单元测试 但我无法构造 HttpPostedFileBase 当我从浏览器运行该方法时 它运行良好 但我确实需要一个自动单元测试 所以我的问题是 如何构造 HttpPosterFileBase 以便将文件传递给 Htt
  • C# 6 Elvis 运算符(空传播)是否短路

    为什么这段 C 代码会抛出 null 异常 bool boolResult SomeClass NullableProperty ItsOkProperty false 一旦 NullableProperty 求值为 null elvis
  • 使用 .net Core 3.1 的 Kestrel ssl JSON 配置中的证书问题

    我已经看到这个问题的答案 但它似乎不适用于 net core 3 1 此代码查找证书 using var store new X509Store Root StoreLocation LocalMachine store Open Open
  • 如何将 PHP 数组格式化为字符串

    我有这个 php 数组 items array Item 1 gt Value 1 Item 2 gt Value 2 Item 3 gt Value 3 我想知道是否有一个我从未听说过的优雅的 PHP 函数可以执行与此相同的操作 outp
  • 使用 Visual Studio 2019 部署到 Hololens 2

    我正在尝试部署到我的 Hololens 2 并尝试通过 wifi 连接到它 我按照此处的说明进行操作 https learn microsoft com en us windows mixed reality mrlearning base
  • 将 y 轴上的数字转换为字符串,其中 K 表示千 d3.js

    我正在使用 d3 js 图表来绘制 y 轴和 x 轴 它工作正常 但是 y 轴上的值可以说范围是 0 到 10000 我希望如果数字大于千 它将带有 K 如果数字是 1000 它将显示 1K 如果数字是 15000 它将在 y 轴刻度上显示
  • Android 开发 Windows Defender 需要排除哪些文件夹?

    我在Windows Defender中排除了以下文件夹 但 反恶意软件服务可执行文件 仍然使用大量CPU C Program Files Android Android Studio C Users ME android C Users M
  • 更改 LocalDb 的默认位置

    我首先使用 EF5 代码进行编程 并希望使用 LocalDb 如何更改 LocalDb 数据库文件的默认位置 默认位置是 USERPROFILE 目录 根据http blogs msdn com b sqlexpress archive 2
  • 如何为独立的 Sinatra 应用程序启用 SSL?

    我想在 Sinatra 中编写一个快速的服务器应用程序 它必须是独立的 即不使用 apache nginx passenger 但也必须支持 SSL 有没有一种简单的方法来启用 Sinatra 的 SSL 支持 例如使用 WEBRick 要
  • 如何获取共享内存中的共享对象

    我们的应用程序依赖于外部第三方提供的配置 包括自定义驱动 决策功能 可作为 so 文件加载 独立地 它使用一块共享内存与外部 CGI 模块协作 其中几乎所有易失性状态都被保留 以便外部模块可以读取它并在适用的情况下修改它 问题是 CGI 模
  • 如何在 Android 手机中设置代理?

    我真的很想知道如何在 Android 手机中设置代理服务器 例如 tattoo 为了获得某些专用网络的访问权限 任何建议将不胜感激 thanks 终于我得到了我想要的 这是结果 Android Web 浏览器没有用于代理设置的 UI 但 A
  • MySQL:比较两个表之间的差异

    Same as oracle diff 如何比较两个表 https stackoverflow com questions 688537 除了在 mysql 中 假设我有两个表 t1 和 t2 它们的布局相同 但可能包含不同的数据 区分这两
  • 学习创建漂亮的/下一代 GUI

    I really想要创建一个外观令人惊叹的 GUI 桌面应用程序 例如 Mac OS X 界面 Windows 上的 Picasa 桌面客户端 iPhone 应用程序 办公室2007 我主要使用 Qt Swing WinForm 进行 GU
  • 测试 Quarkus 应用程序时如何使用内存 H2 数据库?

    我计划使用 PostgreSQL 作为我的 Quarkus 应用程序的数据库 但我希望在测试中使用 H2 带来便利 有什么方法可以让我完成这样的壮举吗 Quarkus 提供H2数据库测试资源 https github com quarkus
  • 将值添加到 C# 数组

    这可能是一个非常简单的问题 我从 C 开始 需要向数组添加值 例如 int terms for int runs 0 runs lt 400 runs terms runs 对于那些使用过 PHP 的人来说 这是我尝试用 C 做的事情 ar
  • 如何仅使用 form:errors 打印全局错误?

    在我的表单中 我有一些特定的目标错误 path myField 并且我想抛出全局错误 因为它们跨越多个字段 但如果我使用
  • 如何在 cmd.exe 的命令行参数中包含 goto 标签?

    有谁知道如何在传递给 cmd exe 的命令字符串中包含 goto 标签 像这样的事情 cmd exe c retry copy y new file exe file exe if errorlevel 1 goto retry 您可以通
  • 在 Github Action 中如何引用私有包进行测试?

    我已经为 Github Action 编写了一个测试文件 test yml name Test on push branches main pull request branches main jobs build runs on ubun
  • 如何从 Volley 中的 JSONObject 获取字符串响应

    我使用volley创建了JSONRequest 它成功命中了服务 我检查了服务端 它接收了数据 并发送 成功 作为回报 问题是 服务返回String在输出中 Volley 除了一些JSON Data在输出中 所以它执行onError方法 而
  • 在换行符上可靠地分割用户提交的文本区域值[重复]

    这个问题在这里已经有答案了 字符串输入来自文本区域 用户应该在新行上输入每个项目 处理表单时 很容易将文本区域输入分解为单个项目的数组 如下所示 arr explode n textareaInput 它工作正常 但我担心它在不同系统中无法