【问题标题】:How to add a new line in textarea element in php code?如何在 php 代码中的 textarea 元素中添加新行?
【发布时间】: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() 做了什么:)

标签: php textarea line-breaks contact-form-7


【解决方案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".

【讨论】:

    猜你喜欢
    • 2012-01-27
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 2013-05-28
    • 1970-01-01
    相关资源
    最近更新 更多