PHP textarea换行

本文介绍了一种方法,通过使用PHP函数处理数据库读取数据,并按照输入的格式输出,包括换行、空格和特殊字符的处理。

<textarea>从数据库里读出数据怎么样按照输入的格式输出???
比方输入
123
32435
32435345

读出来就变成
123 32435 324××××

怎么样才能读出来也是
123
32435
32435345

将要输出的数据处理后再输出

function strip_textarea($string)
{
    return nl2br(str_replace(' ', '&nbsp;', htmlspecialchars($string, ENT_QUOTES)));
}

 PHP换行分割(windows/linux)

//将换行的字符串变成数组
public function textarea2array($string)
{
    // 将换行符替换为空格
    $string = str_replace(["\r\n", "\r", "\n"], ' ', $string);
    // 使用空格分割字符串
    $list = explode(' ', $string);
    //$list = preg_split("/[,;,;\r\n]+/", $string); //换行、加逗号或分号
    // 去除空值
    $filtered = array_filter($list);
    // 去除重复值
    $unique = array_unique($filtered);
    // 重置键
    return array_values($unique);
}

删除字符串中的UniCode字符

/**
 *  删除字符串中的UniCode字符
 *
 * @param $str
 * @return string|string[]|null
 */
public function deleteUniCode($str)
{
    $pattern = "/[\x{007f}-\x{009f}]|\x{00ad}|[\x{0483}-\x{0489}]|[\x{0559}-\x{055a}]|\x{058a}|[\x{0591}-\x{05bd}]|\x{05bf}|[\x{05c1}-\x{05c2}]|[\x{05c4}-\x{05c7}]|[\x{0606}-\x{060a}]|[\x{063b}-\x{063f}]|\x{0674}|[\x{06e5}-\x{06e6}]|\x{070f}|[\x{076e}-\x{077f}]|\x{0a51}|\x{0a75}|\x{0b44}|[\x{0b62}-\x{0b63}]|[\x{0c62}-\x{0c63}]|[\x{0ce2}-\x{0ce3}]|[\x{0d62}-\x{0d63}]|\x{135f}|[\x{200b}-\x{200f}]|[\x{2028}-\x{202e}]|\x{2044}|\x{2071}|[\x{f701}-\x{f70e}]|[\x{f710}-\x{f71a}]|\x{fb1e}|[\x{fc5e}-\x{fc62}]|\x{feff}|\x{fffc}/u";


    return preg_replace($pattern, "", $str);
}

### 实现 HTML Textarea 中的换行显示方法 在 Web 开发中,`<textarea>` 是用于多行文本输入的重要元素。然而,在 `<textarea>` 输入的内容通常包含换行符(`\n` 或 `\r\n`),这些字符在其他上下文中可能无法正常显示为换行。以下是几种常见的解决方案来实现 `textarea` 的换行显示。 #### 1. 使用 JavaScript 替换换行符 通过 JavaScript 可以将 `textarea` 中的换行符替换为适合网页展示的 `<br/>` 标签。这种方法适用于动态更新页面内容的情况: ```javascript var text = document.getElementById('myTextarea').value; text = text.replace(/\n/g, '<br>'); // 将所有换行符替换为<br> document.getElementById('result').innerHTML = text; // 更新到目标区域 ``` 上述代码片段展示了如何获取 `textarea` 值并将其换行符替换成 `<br>`[^5]。 #### 2. jQuery 处理换行符 如果使用的是 jQuery 库,则可以更简洁地完成相同功能: ```javascript $('#myForm').on('submit', function(e) { e.preventDefault(); // 阻止表单默认提交行为 var text = $('#myTextarea').val(); text = text.replace(/\n/g, '<br>'); $('#result').html(text); }); ``` 这段代码监听了表单的提交事件,并阻止其默认动作,随后提取 `textarea` 的值并将其中的换行符替换为 `<br>`[^1]。 #### 3. PHP 后端处理换行符 对于服务器端脚本语言PHP,可以通过函数 `nl2br()` 自动将字符串中的换行符转换为 `<br>` 标签后再存储至数据库或返回给前端渲染: ```php $text = $_POST['myTextarea']; echo nl2br($text); // 输出带有<br>标签的结果 ``` 这种方式特别适合于需要持久化数据的应用场景[^2]。 #### 4. 数据库层面考虑 当从 MySQL 数据库存储和检索含有换行的数据时,需注意原始数据中的换行符可能会因编码差异而丢失或者变形。建议在写入前先做适当转义再调用相应工具恢复格式[^3]。 #### 注意事项 - 不同操作系统下产生的换行序列可能存在区别 (Windows: CRLF (\r\n), Unix/Linux/MacOSX: LF (\n))。 - 如果仅希望预览而不实际改变源码结构的话,CSS 属性 white-space 和 word-wrap 能够提供一定帮助但不会真正影响 DOM 结构。 ```css #result { white-space: pre-line; /* 维持换行 */ } ``` 以上就是关于如何让 HTML 文本框支持换行以及正确显示的一些常用技巧总结。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值