Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过数据库保存电子邮件格式_Php_Html_Mysql_Database_Email - Fatal编程技术网

Php 通过数据库保存电子邮件格式

Php 通过数据库保存电子邮件格式,php,html,mysql,database,email,Php,Html,Mysql,Database,Email,假设我正在给某人发送电子邮件。我可以突出显示我的电子邮件客户端中的文本,然后我可以将其设置为粗体。现在我要做的是让用户向我给他们的电子邮件发送一封电子邮件,然后我将其插入我的数据库。然后说我想在页面上重复它。可悲的是,勇敢的人将不复存在。所以我的问题是,我怎样才能保留这一点?有什么插件或代码我可以使用吗?我已经做了很多研究,但还没有做过这方面的研究。有什么想法吗 创建一组表示粗体句子的标记,即标记,就像它们在堆栈溢出时所做的那样。当您接收或发送带有格式的电子邮件时,它很可能由两部分组成:纯文本部

假设我正在给某人发送电子邮件。我可以突出显示我的电子邮件客户端中的文本,然后我可以将其设置为粗体。现在我要做的是让用户向我给他们的电子邮件发送一封电子邮件,然后我将其插入我的数据库。然后说我想在页面上重复它。可悲的是,勇敢的人将不复存在。所以我的问题是,我怎样才能保留这一点?有什么插件或代码我可以使用吗?我已经做了很多研究,但还没有做过这方面的研究。有什么想法吗

创建一组表示粗体句子的标记,即标记,就像它们在堆栈溢出时所做的那样。

当您接收或发送带有格式的电子邮件时,它很可能由两部分组成:纯文本部分和html部分


您不应该保存文本部分,而应该保存html部分(或两者都保存…)。这样,您就可以在任何支持html(电子邮件客户端、web浏览器等)的查看器中以格式复制电子邮件,而不会出现任何问题。

所以没有更简单的方法了?而不是让用户学习一组新的标签?我不是这么说的。弄清楚是什么标识了一个粗体句子或者你有什么。然后自己在数据库中对标签进行排序很好的回答,解决了我的问题。既然我将向用户显示它,那么XSS呢?如果我使用
htmlspecialchars()
它将删除所有格式设置,那么发送电子邮件的用户是否能够插入代码?@user302975这可能是一个问题,如果您想保留向xss打开的html,并且当您保护自己不受此影响时,您将显示html标记,而不是标记消息。你必须寻找一种方法来清理/验证你的信息。听起来很公平。知道有什么方法可以阻止某些标签吗?我是否应该查询该行以查看它是否包含我想要的标记以外的标记,如果包含,则将其删除?@user302975否,这是毫无意义的,因为您可以向任何标记添加javascript(事件处理程序是一个常见的示例)。你最好找一个行之有效的解决方案/库来帮助你。如果输入来自WYSIWYG,你可以使用htmlentities(strip_标签($text,”);仅允许所有允许所见即所得的html标记。