标题:
提个问题,希望得到大家的帮助
[打印本页]
作者:
happy
时间:
2006-4-6 10:39
标题:
提个问题,希望得到大家的帮助
我现在在对数据库进行操作时,出现了单双引号的问题,
我用的是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.">";
}
则会出现数据无法明确的现像,在线等待各位的帮助。
---------------------------------------------------------------
高手都有问题。爱莫能助,只为分来。
作者:
凡心
时间:
2006-4-6 10:40
<?php
$s =<<< TEXT
aaa"'123'"aaa
TEXT;
$ch = """;
echo "<input value=\"".str_replace('"',$ch,$s)."\">";
?>
输出<input value="aaa"'123'"aaa">
作者:
wish
时间:
2006-4-6 10:41
function &showTextbox($name,$value,$size,$class="")
{
return "<input type='text' name='".$name."' value=\"".str_replace(array("\"","\'"),array("\\\"","\\\'"),$value)."\" class='".$class."' size=".$size.">";
}
欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/)
Powered by Discuz! 6.0.0