如何在 php 代码中的 textarea 元素中添加新行?

Posted

技术标签:

【中文标题】如何在 php 代码中的 textarea 元素中添加新行?【英文标题】:How to add a new line in textarea element in php code? 【发布时间】:2021-10-31 03:35:27 【问题描述】:

我想在文本区域中添加换行符。我尝试使用 标签,但它不起作用。你能帮我在文本区域中插入换行符吗?请在上面找到通用联系表的代码。我应该在哪里添加换行符的标签?

public function cs_form_textarea_render($params = '') 
    global $post, $pagenow;
    extract($params);
    if ( $pagenow == 'post.php' ) 
        $cs_value = get_post_meta($post->ID, 'cs_' . $id, true);
     else 
        $cs_value = $std;
    
    if ( isset($cs_value) && $cs_value != '' ) 
        $value = $cs_value;
     else 
        $value = $std;
    
    $cs_rand_id = time();
    if ( isset($force_std) && $force_std == true ) 
        $value = $std;
    
    $html_id = ' id="cs_' . sanitize_html_class($id) . '"';
    $html_name = ' name="cs_' . sanitize_html_class($id) . '"';
    if ( isset($array) && $array == true ) 
        $html_id = ' id="cs_' . sanitize_html_class($id) . $cs_rand_id . '"';
        $html_name = ' name="cs_' . sanitize_html_class($id) . '_array[]"';
    
    $cs_required = '';
    if ( isset($required) && $required == 'yes' ) 
        $cs_required = ' required="required"';
    
    $cs_output = '<div class="' . $classes . '">';
    $cs_output .= ' <textarea' . $cs_required . ' rows="5" cols="30"' . $html_id . $html_name . ' placeholder="' . $name . '">' . sanitize_text_field($value) . '</textarea>';
    $cs_output .= $this->cs_form_description($description);
    $cs_output .= '</div>';
    if ( isset($return) && $return == true ) 
        return force_balance_tags($cs_output);
     else 
        echo force_balance_tags($cs_output);
    

【问题讨论】:

类方法中的全局变量完全违背了封装的概念,请改为注入这些值 extract($params);也打开了另一个完整的噩梦,即使它在方法的范围内......所有这些参数来自哪里?谁可能知道,当它们不存在时,它们应该来自哪里 提示:文本区域包含纯文本,而不是 HTML 我不想去想sanitize_html_class() 做了什么:) 【参考方案1】:

只需在文本区域标签之间的某处添加一个"\n" 字符

$cs_output .= ' <textarea' . $cs_required . ' rows="5" cols="30"' . $html_id . $html_name . ' placeholder="' . $name . '">' . sanitize_text_field($value) . "\n" . "this text is on a new line". '</textarea>';

【讨论】:

什么不起作用?它不添加新行或根本不显示文本区域?【参考方案2】:

您将尝试在标签的结束位置之前添加“\n”。您需要连接 Like ."\n".

【讨论】:

以上是关于如何在 php 代码中的 textarea 元素中添加新行?的主要内容,如果未能解决你的问题,请参考以下文章

从 PHP 将 textarea 元素插入 MySQL

php :: textarea 中的新行?

php中如何使用KindEditor编辑器

如何使用 php 使用 jquery 和 ajax 获取 textarea 的值?

textarea 中的 CodeMirror(JS 代码突出显示)文本超出 textarea 宽度

正确显示textarea中输入的回车和空格