比较两个字符串时解码符号

时间:2018-04-16 02:23:26

标签: php mysql database escaping decode

我有一张表格。

我使用htmlspecialchars所以当用户提交表单时,

// $_POST['test']; equals to "> 5"
$test = htmlspecialchars($_POST['test'], ENT_QUOTES);
...
$stmt->bindParam(':test', $test);
...

当我从数据库中提取它时,它是这样的:

工作:

if($row['test'] == '> 5') {
    echo $row['test']; // "< 5"
}

这有效:

if($row['test'] == '&gt; 5') {
    echo $row['test']; // "< 5"
}

如何才能使用此功能:if($row['test'] == '< 5')而非&gt; 5?我仍然想使用htmlspecialchars

1 个答案:

答案 0 :(得分:2)

使用htmlspecialchars_decode(),即:

$test = htmlspecialchars_decode($row['test']);
if($test == '< 5') {
    echo $test; // "< 5"
}