3 回答
TA贡献2037条经验 获得超6个赞
使用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
TA贡献1906条经验 获得超3个赞
您可以使用 ltrim() 它将根据字符掩码删除字符。
意味着 any<
和 anyb
以及 anyr
和/
any>
直到它找到不同的字符。
$message = ltrim($message, "<br/> ");
我添加了空间也是因为它无论如何都是“可选的”。
请注意,如果我的评论的答案是否定的,这将不起作用,这意味着该消息并不总是以“此消息..”开头。
因为如果字符串是"<br> <br> break free..."
输出将是"eak free..."
因为字符掩码将删除“break”中的“br”。
如果单词以“rb”开头,它也会删除。
TA贡献1869条经验 获得超4个赞
看起来您在 <br> 之间有一个换行符 (\n)。请试试这个:
$top_message = str_replace("/software\.<br \/>\n<br \/>/", 'software.', $top_message);
- 3 回答
- 0 关注
- 288 浏览
添加回答
举报