Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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 strip html标记及其';s数据并插入mysql_Php_Mysql - Fatal编程技术网

php strip html标记及其';s数据并插入mysql

php strip html标记及其';s数据并插入mysql,php,mysql,Php,Mysql,我目前正在从事一个php项目,该项目连接到imap并将电子邮件插入MySQL。我添加了用户界面来回复电子邮件,通过它将它们封装在一起。我有一个问题。如果我给某人发送电子邮件,它会发送所有数据,如果该人回复,它会重新插入所有内容。我只想插入此人的回复,并删除邮件的其余部分。我该怎么做?有什么建议吗 我试着用标记包装整个插件,并尝试使用preg\u replace来 忽略所有内容,但没有运气 这就是我插入的内容 $message=strip_tags($message, "<br><

我目前正在从事一个
php
项目,该项目连接到imap并将电子邮件插入
MySQL
。我添加了用户界面来回复电子邮件,通过它将它们封装在一起。我有一个问题。如果我给某人发送电子邮件,它会发送所有数据,如果该人回复,它会重新插入所有内容。我只想插入此人的回复,并删除邮件的其余部分。我该怎么做?有什么建议吗

我试着用
标记包装整个插件,并尝试使用
preg\u replace
来 忽略所有内容,但没有运气

这就是我插入的内容

$message=strip_tags($message, "<br><p><u><span><hr>");
$message=preg_replace("/(<br\ ?\/?>)+/", "<br/>", $message);
$message= preg_replace('/<section[^>]*>([\s\S]*?)<\/section[^>]*>/', '', $message);

$message=clean("<br/><hr><u>Received On $rep_date / $from_email</u><br/>$message");

mysql_query("UPDATE USER SET INFO = CONCAT('$message',INFO) WHERE ID='$id'");
$message=strip_标签($message,

); $message=preg_replace(“/()+/”,“
,$message”); $message=preg_replace('/]*>([\s\s]*?)]*>/','','$message); $message=clean(“

于$rep_date/$from_email
$message收到”); mysql_查询(“更新用户集信息=CONCAT('$message',INFO),其中ID='$ID');
存储在MySQL中的数据如下所示

<section> <p>Test data</p> etc </section>
测试数据


这是可行的,但只是它重新插入了一切。有什么建议吗

这就是你要找的吗

$start = strpos($message,'<section>')+9;
$end = strpos($message,'<section/>');
$content = strip_tags(substr($message,$start,$end),"<br><p><u><span><hr>");
$start=strpos($message,”)+9;
$end=strpos($message,”);
$content=strip_标签(substr($message,$start,$end),“

”;

附言:别忘了消毒

谢谢你的建议。我试过了,但它从邮件中删除了。从邮件中删除了所有内容。哦,对了。像你在问题中那样包括允许的标签是的,我也有,但相同。我在outlook中分析了这封电子邮件,发现Microsoft去掉了“打开”标签,但“关闭”标签在那里:(…在MySQL中,两者都有。还有其他建议吗?对不起,当它是PHP时,我必须亲自动手解决它。对于这种类型的问题,有很多因素。如果是我,我只会使用一个表单,并给他们一个文本区域来输入他们的内容