使用正则表达式从文本块中删除数据URI的好方法是什么?我的应用程序必须从电子邮件正文中删除它们,因为Amazon SES(简单电子邮件服务)拒绝任何带有数据URI的电子邮件。出于安全考虑,也应将其删除。
示例数据URI:
data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7
它可以用HTML中的引号括起来:
<img src="data:image/gif;base64,R0lGODlhEAAQA...." />
或者它可能在CSS背景中:
background: url(data:image/gif;base64,R0lGODlhEAAQA....);
答案 0 :(得分:0)
这应该可以解决问题:
$regex = '~data:[^;]+;[A-Za-z0-9]+,[^")\'\s]+~';
$body = preg_replace($regex, '', $body);