我有Name
,CompanyName
和Enquiry
的联系表单。当我在Enquiry
字段中提交带有html实体的表单时(例如<a href="link-to-page">Link</a>
或<script>alert('Hello World!');</script>
)。它显示在邮件中,例如<a href=\"link-to-page\">Link</a>
或<script>alert(\'Hello World!\');</script>
。这两个报价都被转义。如何删除那些逃逸的斜杠?
我正在附上以下代码段。
//I have used htmlspecialchars() to get the html entities in mail as it is.
$senderName = htmlspecialchars($_REQUEST['contactName'],ENT_QUOTES);
$senderCompany = htmlspecialchars($_REQUEST['contactCompany'],ENT_QUOTES);
$senderEnquiry = htmlspecialchars($_REQUEST['contactEnquiry'],ENT_QUOTES);
答案 0 :(得分:0)
您应该将标题的内容类型设置为text / html,或者请在发布时检查该值,我认为这是因为双引号和单引号问题。 例如,请参阅以下代码: -
$new = htmlspecialchars("<script>alert(\'Hello World!\');</script>", ENT_QUOTES);
echo $new; // This will print output as <script>alert(\'Hello World!\');</script>
但是如果您将使用双引号更改代码,请参阅以下内容: -
$new = htmlspecialchars("<script>alert(\"Hello World!\");</script>", ENT_QUOTES);
echo $new; // This will print output as <script>alert("Hello World!");</script>
因此,请检查发布时是否存在单引号和双引号问题
通过表格
的价值