use*_*273 0 php textbox special-characters
我想用数据库中的文本预先填充输入文本框.但是,如果数据库中的文本包含某些特殊字符(如"标记),则会干扰html并截断引号后的所有内容.
添加斜杠和urlencode不起作用,因为文本框显示asci文本,你只看到引号或编码文本之前的斜杠标记即%026.
码:
<?php
//access data base
while $row=mysql_fetcharray($res) {
$dim =$row['dimension'];
}
echo 'Dimensions: <input type="text" size=20 name="dim" value="'.$dim.'">'; //truncates
echo 'Dimensions: <input type="text" size=20 name="dim" value="'.addslashes($dim).'">'; //shows slashes in textbox
Run Code Online (Sandbox Code Playgroud)
?>
希望能解决这个棘手的问题.
你在寻找的是htmlspecialchars():
某些字符在HTML中具有特殊意义,如果要保留其含义,则应由HTML实体表示.
echo 'Dimensions: <input type="text" size=20 name="dim" value="'.htmlspecialchars($dim).'">';
Run Code Online (Sandbox Code Playgroud)