如何在 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 使用 jquery 和 ajax 获取 textarea 的值?