php - 删除
字符串之前的标签
问题描述
我正在使用我的 php 从电子邮件正文中获取电子邮件数据。<br />
我在删除字符串之前的标签时遇到了问题This message was created
。
这是完整的电子邮件正文:
<br />
<br />
This message was created automatically by mail delivery software.<br />
<br />
A message that you sent could not be delivered to one or more of its<br />
recipients. This is a permanent error. The following address(es) failed:
<br />
<br />
fvsafsafsaf@shitmail.com<br />
retry timeout exceeded
我试过这个:
$top_message = str_replace('<br /> <br /> This message', 'This message', $top_message);
我也试过这个:
$top_message = str_replace('<br /> <br />', '', $top_message);
它不会删除<br />
字符串之前的标签,也不会发生任何事情。
这是完整的代码:
$body = imap_body($mailbox, $email_number, 2);
$email_body = utf8_decode(imap_utf8($body));
$top_message = getBetween($email_body, 'charset=us-ascii', 'exceeded') . 'exceeded';
$top_message = nl2br($top_message);
$top_message = str_replace('<br /> <br /> This message', 'This message', $top_message);
echo $top_message
我想要实现的是,当我从电子邮件正文中获取电子邮件数据时,我想使用为每一行nl2br
添加<br />
标签,然后我想删除<br />
字符串之前的两个标签This message was created
。
我想让它显示如下:
This message was created automatically by mail delivery software.<br />
<br />
A message that you sent could not be delivered to one or more of its<br />
recipients. This is a permanent error. The following address(es) failed:
<br />
<br />
name@example.com<br />
retry timeout exceeded
你能告诉我一个例子,我如何能够删除<br />
字符串之前的两个标签?
谢谢你。
解决方案
preg_replace
与以下正则表达式一起使用: /^(<br\s*\/>\s*)*/
.
它将删除<br/>
消息开头的所有标签。
$str = "<br />
<br />
This message was created automatically by mail delivery software.<br />
<br />
A message that you sent could not be delivered to one or more of its<br />
recipients. This is a permanent error. The following address(es) failed:
<br />
<br />
fvsafsafsaf@shitmail.com<br />
retry timeout exceeded";
print_r(preg_replace('/^(<br\s*\/>\s*)*/', '', $str));
输出:
This message was created automatically by mail delivery software.<br />
<br />
A message that you sent could not be delivered to one or more of its<br />
recipients. This is a permanent error. The following address(es) failed:
<br />
<br />
fvsafsafsaf@shitmail.com<br />
retry timeout exceeded
推荐阅读
- rust - PartialEq 和 PartialOrd 实现不返回正确的输出
- angular - 如何在角度 11 中绑定到数组
- sql - 在 Oracle DBMS 中使用多个嵌套查询
- c# - ASP.NET 身份关系
- android - 如何在 Drawer 中使用 StreamBuilder?
- python - 我可以创建一个矩形表面并在其上绘制一个文本并在 pygame 中将这些对象拼凑在一起吗
- c# - Xamarin 中的随机图像
- function - 如何通过点击原生反应中的 touchableOpacity 来开始倒计时?
- c# - 如何访问另一个查询 LINQPad 的成员?
- oauth - 如何使用 instagram API 登录