php如何在输入文本框中转义文本

时间:2014-05-20 01:18:38

标签: 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

?&GT;

对这个棘手的问题有任何解决方案。

2 个答案:

答案 0 :(得分:6)

您要找的是htmlspecialchars()

  

某些字符在HTML中具有特殊意义,如果要保留其含义,则应由HTML实体表示。

echo 'Dimensions: <input type="text" size=20 name="dim" value="'.htmlspecialchars($dim).'">';

答案 1 :(得分:2)

试试这个:

<?php
    $str = "Keep the 'quote'.";
    echo htmlentities($str, ENT_QUOTES, "UTF-8");
?>

了解详情:htmlentities