如何使用以下模式剥离基于文本的电子邮件中的嵌入图像?
[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);