我现在在对数据库进行操作时,出现了单双引号的问题,
我用的是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 "
1<input class='".$class."' name='".$name."' size=".$size." type="text" value='".$value."'/>
";
}
中时出现了问题,如果是字段中有双引号,则出现在双引号时后面的内容被切断的情况。
如果把showtextbox函数中单双引号换一下的话,则出在单引号后面的内容被切断。
如果把函数改成:
function &showTextbox($name,$value,$size,$class="")
{
return "
1<input class='".$class."' name='".$name."' size=".$size." type="text" value=".$value."/>
";
}
则会出现数据无法明确的现像,在线等待各位的帮助。
---------------------------------------------------------------
高手都有问题。爱莫能助,只为分来。
---------------------------------------------------------------
1
2$s =<<< TEXT
3aaa"'123'"aaa
4TEXT;
5$ch = """;
6echo "
<input value="&quot;".str_replace('"',$ch,$s)."&quot;"/>
1";
输出
1<input value="aaa"'123'"aaa"/>
---------------------------------------------------------------
高手问一下:function &showTextbox($name,$value,$size,$class="")
1
2\---------------------------------------------------------------
3
4HTML显示时需要对引号进行转义,变成"
5\---------------------------------------------------------------
6
7跟老大学了
8\---------------------------------------------------------------
9
10学习
11\---------------------------------------------------------------
12
13function &showTextbox($name,$value,$size,$class="")
14{
15return "
16```
17<input class='".$class."' name='".$name."' size=".$size." type="text" value="\"".str_replace(array("\"","\'"),array("\\\\\"","\\\\\'"),$value)."\""/>
18```
19";
20}