public function getOrganizationDataForSelect($tree, $blank=false)
    {
        $select                 = array();
        $blIsArr                = is_array($tree);
        $iCntArr                = count($tree);
        if ( $blIsArr === true && $iCntArr > 0 ) {
            if ( $blank === true ) {
                $select['']     = '';
            }
            foreach ( $tree as $orgid => $orgdata ) {
                if ( $orgdata['delflag'] != 1 ) {
                    $select[$orgid] = str_repeat('  ', $orgdata['hierarchylevel']).htmlspecialchars($orgdata['orgnamealias']);
                }
            }
        }        return $select;
    }
这是我写的一个放入select空间的整形方法 输出后结果为以下格式
aaaa
  bbbb
  cccc
    dddd
    eeee
  gggg
   ffff
   jjjj
但是 通过 属性 输出到页面后 空格替换符号 没有变成个空格 而变成了
aaaa
  bbbb
  cccc  
    dddd.....
   
希望知道的大大告诉下 

解决方案 »

  1.   

    $select[$orgid] = str_repeat('\ \ ', $orgdata['hierarchylevel']).htmlspecialchars($orgdata['orgnamealias']); 
    试试
      

  2.   

    &符号在(x)html标准中是会被替换成&的。所以输出时, 被转义成 而你使用了repeat再次被转义成 
    不知道你所说的整形是什么意思。所以,只能告诉你的原因。
      

  3.   

    &被替换成 &了.
    你用的什么浏览器呀,这么高级.
    连 都不认识还给弄成&nbsp
      

  4.   

    &符号在(x)html标准中是会被替换成&的。   这是什么意思???  还有歧义??那帮定标准的孙子搞什么呢
    我觉得吧 你是业务逻辑里那个部分 把你的数据编码了。。
     你看看数据库里是  不?
      

  5.   

    如果你要在(X)html中显示“&“符号,会被转义成&
      

  6.   

    $select[$orgid] = str_repeat('&nbsp', $orgdata['hierarchylevel']).htmlspecialchars($orgdata['orgnamealias']); 
      

  7.   

    把   替换为智能ABC中全拼的空格形式,看运行有没问题
      

  8.   

    请检查程序中的其他部分,你进行了多次编码转换echo htmlspecialchars('  ');//  
    echo htmlspecialchars('  ');//