php - 从字符串 PHP 中提取行
问题描述
所以我在 PHP 脚本中通过 imap 添加了一个字符串。电子邮件中总是有 12 行 - 总是。我需要能够将每一行分配给一个变量。
通常,我会使用一些标记来表示电子邮件中值的结束/开始,但在这种情况下这不是一个选项(它们是从船上发送的,因此更大的电子邮件意味着更多的钱)。
电子邮件看起来像 -
CCL21045
04/03/2020
1800
32.50
17.20
Nil
Nil
它全部作为一个块发送,行之间没有空白。我需要将上面的 4 行放入它们自己的变量中。
任何帮助,将不胜感激!
解决方案
如果您知道格式将始终保持相同的顺序,您可以使用 PHPexplode()
将输入按行拆分为单独的变量。就像是:
[$report_date, $coordinates, $speed, $destination, ] = explode("\n", $email);
即使它没有按特定顺序,您仍然可以使用explode()
将输入拆分为一个数组并循环遍历每一行以将其与您想要/需要的内容相匹配。IE:
$lines = explode("\n", $email);
foreach ($lines as $line) {
if (preg_match('@^\d{2}/\d{2}\d{4}$@', $line)) {
$report_date = $line;
}
// ... more rules for other input types
}
推荐阅读
- pandas - 如何将结果从 np.mean 转换为 csv?
- python - 使用另一个 python3 解释器在线程中调用脚本
- html - Django模板中的Tabindex不会将光标移动到正确的字段
- discord.js - Discord.js 删除来自特定用户 ID 的消息
- javascript - 如何从我的 NPM 包中获取应用程序的 node_modules 绝对路径?
- arrays - 多个高分 Swift 5
- java - If语句中的有缺陷的逻辑
- ldap - OpenLDAP 代理 AD FS
- ios - 有没有办法让 Apple 登录使用 msal 作为 Azure AD B2C 的登录?
- javascript - 浏览器供应商是否必须将relatedTarget 实现为模糊事件对象的成员?