<?php
$s =<<< TEXT
aaa"'123'"aaa
TEXT;
$ch = "&quot;";
echo "<input value=\"".str_replace('"',$ch,$s)."\">";
?>
输出<input value="aaa&quot;'123'&quot;aaa">

解决方案 »

  1.   

    现在我也遇到繁体字符截取出现问题的现象。总是显示不完全,然后一个字的后一半变成“?”,又把后一个html代码给吃掉,结果显示错误。
      

  2.   

    高手问一下:function &showTextbox($name,$value,$size,$class="")
                     ~~~~~~~~这个&干什么用的?
      

  3.   

    &代表一个静态函数,这个函数的作用就是显示一个textbox框。
      

  4.   

    HTML显示时需要对引号进行转义,变成&quot;
      

  5.   

    我已经对其进行了转义,就是因为我转义了,如果用lable显示出来没有问题,关键是因为我用textbox显示时,他的写法采用的下面的方法:
    <inpute type='text' name='text1'>
    这个name必须要用引号引起来,如果不用引用引起来的话会出现错误,他会把后面的全部看成只有一个textbox的情况,导致后面的内容的无法显示。像现用单引号的话,如果字段中的值有单引号,它会在单引号处进行截断,如果这个name用双引号,它会在双引号处自动截断。
      

  6.   

    我用lable就没有问题,因为他们的付值方式不一样,所以有请各位高手。
    下面是这两个函数的原形。
    function &showLabel($value,$class="")
    {
    return "<font class='".$class."' >".$value."</font>";
    }
    function &showTextbox($name,$value,$size,$class="")
    {
    return "<input type='text' name='".$name."' value='".$value."' class='".$class."' size=".$size.">";
    }
      

  7.   

    老大写的就可以啊
    把这个函数里的value改成用""
    function &showTextbox($name,$value,$size,$class="")
    {
    return "<input type='text' name='".$name."' value='".$value."' class='".$class."' size=".$size.">";
    }
    ----------------------------------------------------------------
    function &showTextbox($name,$value,$size,$class="")
    {
    return "<input type='text' name='".$name."' value=\"".$value."\" class='".$class."' size=".$size.">";
    }
      

  8.   

    下面代码在我机器上是没有问题
    <?php
    function &showTextbox($name,$value,$size,$class="")
    {
    return "<input type='text' name='".$name."' value=\"".$value."\" class='".$class."' size=".$size.">";
    }
    $s =<<< TEXT
    aaa"'123'"aaa
    TEXT;
    $ch = "&quot;";
    $s = str_replace("\"",$ch,$s);
    echo showTextbox("ice",$s, "20");
    ?>
      

  9.   

    我的截取字符的函数是这样的:
    function substrt($str,$len) {
    if (strlen($str)>$len){ //防止截错字符
    $temp_j=0;
    $temp_num=$len-3;
    for($i=0;$i<$temp_num;$i++) if(ord(substr($str,$i,1))>0xa0) $temp_j++;
    if($temp_j%2!=0) $temp_num++;
    $str=substr($str,0,$temp_num)."...";
    }
    Return $str;
    }
    没问题的。但是不知道怎么的,繁体有的显示起来就出错,比如
    http://bbs.soulsky.net/read.php?forumid=21&threadid=10197&page=4的48楼的那个标题,里面“回:[求助]請問我可以將Soulsky BBS進行繁體化修改?/b>”中的那个最后的问号就是把后面内容给吃了的缘故。
      

  10.   

    function &showTextbox($name,$value,$size,$class="")
    {
    return "<input type='text' name='".$name."' value=\"".str_replace('"',"&quot;",$value)."\" class='".$class."' size=".$size.">";
    }当input type=text的初值中有“"”号时,必须写作
    <input type=text value="xxxx&quot;xxx">
    只有这样“"”(&quot;)才会被解释为"
      

  11.   

    function &showTextbox($name,$value,$size,$class="")
    {
    return "<input type='text' name='".$name."' value=\"".str_replace(array("\"","\'"),array("\\\"","\\\'"),$value)."\" class='".$class."' size=".$size.">";
    }
      

  12.   

    谢谢各位,我现在采用的是将'换成`,就是把它换成数字1旁边的那个符号,现在快下班了,下午有事没有试试各位的提议,明天再试。thanks to every one!!!
      

  13.   

    大家好像都有分了。谢谢各位!thanks!
      

  14.   

    大家好像都有分了。谢谢各位!thanks!