PHP Regex模式匹配和剥离文本电子邮件中嵌入的图像


PHP Regex Pattern To Match And Strip Out Embedded Images in Text Email

如何使用以下模式剥离基于文本的电子邮件中的嵌入图像?

[cid:B54FD59F-8DE7-4ED1-A0C7-19E52F83A8D7]

这些都是guid,这个正则表达式将提供一个干净的匹配,并替换为空字符串

$pattern = '/'[cid':[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}']/i';
$formattedString = preg_replace($pattern, "", $string);

您可以尝试此regex从文本主体中提取类似[cid:B54FD59F-8DE7-4ED1-A0C7-19E52F83A8D7]的模式

'[cid:.*']

演示

您可以尝试使用以下模式

('[cid:(?:[0-9A-Z-]{7,8}){5}'])

如果要包含小写字符,请在/后面使用i(忽略大小写)。

$reg = "/('[cid:(?:[0-9A-Z-]{7,8}){5}'])/";
$sub = "";
$result = preg_replace($reg, $sub, $str);

示例:

https://regex101.com/r/vK8eX1/1

'[cid:[^']]*']

试试这个。替换为empty string。请参阅演示。

https://regex101.com/r/sJ9gM7/34

$re = ""''[cid:[^'']]*'']"";#regex101 bug
$re = "/''[cid:[^'']]*'']/"; 
$str = "askdaskjd'nsad'nas'nd'n[cid:B54FD59F-8DE7-4ED1-A0C7-19E52F83A8D7]'na'nds'nad'nsa'nd'n[cid:B54FD59F-8DE7-4ED1-A0C7-19E52F83A8D7]'n'nasdasd";
$subst = "";
$result = preg_replace($re, $subst, $str);