提个问题,希望得到大家的帮助
我现在在对数据库进行操作时,出现了单双引号的问题,
我用的是ms sql数据库,
在存入数据库时,对各种特殊字符进行转义:
采用下面的函数:
function &encodeHtmlChar($value)
{
return htmlspecialchars($value,ENT_QUOTES);
}
读取时用下面的函数2:
function &decodeHtmlChar($value)
{
$tt = $value;
$tt = str_replace('amp;','',$tt);
$tt = str_replace(''',"'",$tt);
$tt = str_replace('"','"',$tt);
$tt = str_replace('<', '<',$tt);
$tt = str_replace('>', '>',$tt);
return $tt;
}
但是我将内容显示在
function &showTextbox($name,$value,$size,$class="")
{
return "<input type='text' name='".$name."' value='".$value."' class='".$class."' size=".$size.">";
}
中时出现了问题,如果是字段中有双引号,则出现在双引号时后面的内容被切断的情况。
如果把showtextbox函数中单双引号换一下的话,则出在单引号后面的内容被切断。
如果把函数改成:
function &showTextbox($name,$value,$size,$class="")
{
return "<input type='text' name='".$name."' value=".$value." class='".$class."' size=".$size.">";
}
则会出现数据无法明确的现像,在线等待各位的帮助。
---------------------------------------------------------------
高手都有问题。爱莫能助,只为分来。