PHP如何从多行中删除=20

PHP如何从多行中删除=20,php,regex,replace,Php,Regex,Replace,我想知道是否有可能在一个文本块中的多行末尾只删除=20?这是我发送给票务网关的电子邮件。当收到回复并包含多个“=20”时,我想删除它们。但是,如果它是电子邮件(如URL)的合法部分,我希望保留=20不变。传入电子邮件的一个示例: $correspondence = <<<EOF Hello=20 =20 Thank you for getting back to me.=20 The link you need is http://domain.com/index.php?id

我想知道是否有可能在一个文本块中的多行末尾只删除=20?这是我发送给票务网关的电子邮件。当收到回复并包含多个“=20”时,我想删除它们。但是,如果它是电子邮件(如URL)的合法部分,我希望保留=20不变。传入电子邮件的一个示例:

$correspondence = <<<EOF
Hello=20
=20
Thank you for getting back to me.=20
The link you need is http://domain.com/index.php?id=204726 .=20
Regards=20
EOF;

$corrective=您可以使用discard技术对正则表达式执行此操作,如下所示:

http://.*=20$(*SKIP)(*FAIL)|=20

这个正则表达式的思想是丢弃与
(*SKIP)(*FAIL)
匹配的内容,并保持
=20
。因此,对于上述情况,regex将放弃链接

您可以在
Substitution
部分中看到预期的输出

php代码:

$re = "/http.*=20$(*SKIP)(*FAIL)|=20/m"; 
$str = "\$correspondence = <<<EOF\nHello=20\n=20\nThank you for getting back to me.=20\nThe link you need is http://domain.com/index.php?id=204726 .=20\nRegards=20\nEOF;"; 
$subst = ""; 

$result = preg_replace($re, $subst, $str);
$re=“/http.*=20$(*跳过)(*失败)|=20/m”;

$str=“\$corrective=您可以使用discard技术对正则表达式执行此操作,如下所示:

http://.*=20$(*SKIP)(*FAIL)|=20

这个正则表达式背后的思想是丢弃与
(*SKIP)(*FAIL)
匹配的内容,并保留
=20
。因此,对于上述情况,正则表达式将丢弃链接

您可以在
Substitution
部分中看到预期的输出

php代码:

$re = "/http.*=20$(*SKIP)(*FAIL)|=20/m"; 
$str = "\$correspondence = <<<EOF\nHello=20\n=20\nThank you for getting back to me.=20\nThe link you need is http://domain.com/index.php?id=204726 .=20\nRegards=20\nEOF;"; 
$subst = ""; 

$result = preg_replace($re, $subst, $str);
$re=“/http.*=20$(*跳过)(*失败)|=20/m”;

$str=“\$corrective=您可以使用discard技术对正则表达式执行此操作,如下所示:

http://.*=20$(*SKIP)(*FAIL)|=20

这个正则表达式的思想是丢弃与
(*SKIP)(*FAIL)
匹配的内容,并保持
=20
。因此,对于上述情况,regex将放弃链接

您可以在
Substitution
部分中看到预期的输出

php代码:

$re = "/http.*=20$(*SKIP)(*FAIL)|=20/m"; 
$str = "\$correspondence = <<<EOF\nHello=20\n=20\nThank you for getting back to me.=20\nThe link you need is http://domain.com/index.php?id=204726 .=20\nRegards=20\nEOF;"; 
$subst = ""; 

$result = preg_replace($re, $subst, $str);
$re=“/http.*=20$(*跳过)(*失败)|=20/m”;

$str=“\$corrective=您可以使用discard技术对正则表达式执行此操作,如下所示:

http://.*=20$(*SKIP)(*FAIL)|=20

这个正则表达式背后的思想是丢弃与
(*SKIP)(*FAIL)
匹配的内容,并保留
=20
。因此,对于上述情况,正则表达式将丢弃链接

您可以在
Substitution
部分中看到预期的输出

php代码:

$re = "/http.*=20$(*SKIP)(*FAIL)|=20/m"; 
$str = "\$correspondence = <<<EOF\nHello=20\n=20\nThank you for getting back to me.=20\nThe link you need is http://domain.com/index.php?id=204726 .=20\nRegards=20\nEOF;"; 
$subst = ""; 

$result = preg_replace($re, $subst, $str);
$re=“/http.*=20$(*跳过)(*失败)|=20/m”;

$str=“\$correlationship=这是编码,它使用
=
后跟十六进制代码对纯文本中的特殊字符进行编码。用于解码以这种方式编码的消息。你不必担心文本中任何地方的文字
=20
,因为它应该被编码为
=3D20
=3D
=20
符号的编码),当它被解码时,你会得到原始的
=20

这是编码,它使用
=
后跟十六进制代码对纯文本中的特殊字符进行编码。用于解码以这种方式编码的消息。你不必担心文本中任何地方的文字
=20
,因为它应该被编码为
=3D20
=3D
=20
符号的编码),当它被解码时,你会得到原始的
=20

这是编码,它使用
=
后跟十六进制代码对纯文本中的特殊字符进行编码。用于解码以这种方式编码的消息。你不必担心文本中任何地方的文字
=20
,因为它应该被编码为
=3D20
=3D
=20
符号的编码),当它被解码时,你会得到原始的
=20

这是编码,它使用
=
后跟十六进制代码对纯文本中的特殊字符进行编码。用于解码以这种方式编码的消息。你不必担心文本中任何地方的文字
=20
,因为它应该被编码为
=3D20
=3D
=20
符号的编码),当它被解码时,你会得到原始的
=20

你怎么知道它是否是url的一部分?我不会假设它是示例中url的一部分
=20
在url之后,我觉得它不是url的一部分。如何知道它是否是url的一部分?我不会假设它是示例中url的一部分
=20
在url之后,我觉得它不是url的一部分。如何知道它是否是url的一部分?我不会假设它是示例中url的一部分
=20
在url之后,我觉得它不是url的一部分。如何知道它是否是url的一部分?我不会假设它是示例中url的一部分
=20
在我看来,url之后似乎不是url的一部分。