我应该如何回显包含特殊字符的PHP字符串变量?

PHP*_*PHP -6 php string special-characters

我正在尝试使用包含特殊字符的一些数据填充表单(例如单引号,双引号,<,>,?,","".〜,,!@#$%^&*()_ +} {":?<<> ,. /;'[.]等):

<input type="text" name="message" size="200" maxlength="200"
 value =<?php echo $message;?>> 
Run Code Online (Sandbox Code Playgroud)

但是,$message来自MySQL表的内容无法正确显示 - 应该包含的任何HTML输出$message都已损坏.

我该怎么做呢?

Ale*_*ult 13

这样可以防止您的标记被回声破坏:

<?php echo htmlentities($message); ?>


Tou*_*uch 8

如果要显示它

echo htmlspecialchars($messge, ENT_QUOTES, 'UTF-8');
Run Code Online (Sandbox Code Playgroud)

这就是我通常做的事情.

由于答案不同:

htmlentities-vs-htmlspecialchars值得一试.