在文本区域旁边打印的值

时间:2012-08-31 18:10:27

标签: php textarea

我有这样的功能:

     function textarea(array $attributes){

         if(isset($attributes['name'])){
             $this->name = 'name="'.$attributes['name'].'"';
         }

         if(isset($attributes['id'])){
             $this->id = 'id="'.$attributes['id'].'"';
         }

         if(isset($attributes['class'])){
             $this->class = 'class="'.$attributes['class'].'"';
         }else{
             $this->class = 'class="aisisTextElement"';
         }

         if(isset($attributes['rows'])){
             $this->rows = 'rows="'.$attributes['rows'].'"';
         }

         if(isset($attributes['cols'])){
             $this->cols = 'cols="'.$attributes['cols'].'"';
         }

         if(isset($attributes['value'])){
             $this->value = $attributes['value'];
         }

         if(isset($attributes['style'])){
             $this->style = 'style="'.$attributes['style'].'"';
         }

         $build_aisis_element = "<textarea {$this->id} {$this->class} {$this->name} {$this->disabled}>{$this->value}</textarea>";                   
         echo $build_aisis_element;
     }

并且每次我将其渲染出来时,例如,如果值为Bob Ill,则会得到类似的内容:

bob
<textarea></textarea>

有什么想法吗?

我已经转换了所有JavaScript,所以我可以100%准确地说它不是js这样做。

根据要求.....

创建文本区域的位置

function aisis_custom_text(){
    $option = get_option('aisis_core');
    $aisis_form = new AisisForm();

    $aisis_form->create_aisis_form_element('label', array('value'=>'Remove the Mini   Feed(s) from the site?'));
    $aisis_form->create_aisis_form_element('textarea', array(
        'rows'=>50,
        'cols'=>50,
        'name'=>'aisis_core[404_message]',
        'value'=>get_value('404_message')
    ));
}

该值只是通过一个方法获得,该方法通过WordPress中的选项表查找该键 - 换句话说,在您输入test时,将为test测试文本的值

基本上如果放入测试然后返回测试并且文本区域填充测试

这个呈现的html:

    test<textarea class="aisisTextElement"name="aisis_core[404_message]"rows="50"cols="50"></textarea>

1 个答案:

答案 0 :(得分:0)

最可能的问题是该值包含需要转义的字符。

您可以使用以下方法解决此问题:

     if(isset($attributes['value'])){
         $this->value = htmlspecialchars($attributes['value']);
     }

您输出到html并且不应包含html(标签)的所有字符串都需要以这种方式进行转义。