Php 忽略带str_replace的换行符
下面的代码将替换某些文本。实际上,我从一个包含Php 忽略带str_replace的换行符,php,str-replace,line-breaks,Php,Str Replace,Line Breaks,下面的代码将替换某些文本。实际上,我从一个包含文件内容的文本文件中获取$str数据,所以请想象一下$str中有一行新行 $str = 'From: My Name <myemail@myname.com> To: storm@yahoo.com Message-ID: <1638618225.203837.1426581391642.JavaMail.yahoo@mail.yahoo.com>'; $old = array("My Nam
文件内容的文本文件中获取$str
数据,所以请想象一下$str
中有一行新行
$str = 'From: My Name <myemail@myname.com>
To: storm@yahoo.com
Message-ID: <1638618225.203837.1426581391642.JavaMail.yahoo@mail.yahoo.com>';
$old = array("My Name", "To: storm@yahoo.com");
$new = array("New Name", "");
echo str_replace($old, $new, $str );
$str='发件人:我的名字
致:storm@yahoo.com
消息ID:';
$old=数组(“我的名字”,“收件人”:storm@yahoo.com");
$new=数组(“新名称”,“新名称”);
echo str_替换($old,$new,$str);
输出:
From: New Name
Message-ID: <1638618225.203837.1426581391642.JavaMail.yahoo@mail.yahoo.com>
From:新名称
消息ID:
不幸的是,删除后:storm@yahoo.com
,代码将创建换行符。如何使用str\u replace
而不创建新的换行符?正如您所说,您从文本文件中获取该换行符,如果您显示的是文本文件中的内容,则不是创建换行符,实际上是您没有删除已存在的新行符
试一试
$str='发件人:我的名字
致:storm@yahoo.com
消息ID:';
$old=数组(“我的名字”,“收件人”:storm@yahoo.com\n”);
$new=数组(“新名称”,“新名称”);
就像你说的,你从一个文本文件中得到这个,如果你显示的是文本文件中的内容,那么它不是在创建换行符,实际上是你没有删除已经存在的新行
试一试
$str='发件人:我的名字
致:storm@yahoo.com
消息ID:';
$old=数组(“我的名字”,“收件人”:storm@yahoo.com\n”);
$new=数组(“新名称”,“新名称”);
就像你说的,你从一个文本文件中得到这个,如果你显示的是文本文件中的内容,那么它不是在创建换行符,实际上是你没有删除已经存在的新行
试一试
$str='发件人:我的名字
致:storm@yahoo.com
消息ID:';
$old=数组(“我的名字”,“收件人”:storm@yahoo.com\n”);
$new=数组(“新名称”,“新名称”);
就像你说的,你从一个文本文件中得到这个,如果你显示的是文本文件中的内容,那么它不是在创建换行符,实际上是你没有删除已经存在的新行
试一试
$str='发件人:我的名字
致:storm@yahoo.com
消息ID:';
$old=数组(“我的名字”,“收件人”:storm@yahoo.com\n”);
$new=数组(“新名称”,“新名称”);
str\u replace
不添加新的换行符;它用您支持的内容替换字符串,并且您告诉它用空字符串替换行中的文本。
最简单的方法是在搜索数组中包含换行符:
$old = array("My Name", "To: storm@yahoo.com\n");
stru\u replace
不添加新的换行符;它用您支持的内容替换字符串,并且您告诉它用空字符串替换行中的文本。
最简单的方法是在搜索数组中包含换行符:
$old = array("My Name", "To: storm@yahoo.com\n");
stru\u replace
不添加新的换行符;它用您支持的内容替换字符串,并且您告诉它用空字符串替换行中的文本。
最简单的方法是在搜索数组中包含换行符:
$old = array("My Name", "To: storm@yahoo.com\n");
stru\u replace
不添加新的换行符;它用您支持的内容替换字符串,并且您告诉它用空字符串替换行中的文本。
最简单的方法是在搜索数组中包含换行符:
$old = array("My Name", "To: storm@yahoo.com\n");
它不会创建一条新线,它只是从您的
因此,如果要删除仅包含新行字符的每一行,可以使用以下方法:
(在这里,我首先将$old
替换为$new
,然后用新行字符替换字符串。然后使用组合删除每行中的这些字符([“”、“\t”、“\n”、“\r”、“\0”、“\x0B”]
)。然后,我删除所有剩余的空行,并在最后再次删除字符串)
它不会创建一条新线,它只是从您的
因此,如果要删除仅包含新行字符的每一行,可以使用以下方法:
(在这里,我首先将$old
替换为$new
,然后用新行字符替换字符串。然后使用组合删除每行中的这些字符([“”、“\t”、“\n”、“\r”、“\0”、“\x0B”]
)。然后,我删除所有剩余的空行,并在最后再次删除字符串)
它不会创建一条新线,它只是从您的
因此,如果要删除仅包含新行字符的每一行,可以使用以下方法:
(在这里,我首先将$old
替换为$new
,然后用新行字符替换字符串。然后使用组合删除每行中的这些字符([“”、“\t”、“\n”、“\r”、“\0”、“\x0B”]
)。然后,我删除所有剩余的空行,并在最后再次删除字符串)
它不会创建一条新线,它只是从您的
因此,如果要删除仅包含新行字符的每一行,可以使用以下方法:
(在这里,我首先将$old
替换为$new
,然后用新行字符替换字符串。然后使用组合删除每行中的这些字符([“”、“\t”、“\n”、“\r”、“\0”、“\x0B”]
)。然后,我删除所有剩余的空行,并在最后再次删除字符串)
它不会创建换行符,它已经存在了。。你只是用没有文本的文本替换一些文本,所以换行符仍然存在。它不会创建换行符,它已经存在了。。你只是用没有文本的文本替换一些文本,所以换行符仍然存在。它不会创建换行符,它已经存在了。。你只是用没有文本的文本替换一些文本,所以换行符仍然存在。它不会创建换行符,它已经存在了。。你只是用没有文本的文本替换了一些文本,所以中断仍然存在。。