php函数nl2br的反函数br2nl

本文深入探讨了PHP中nl2br与br2nl函数的功能,提供了这两种函数的实现代码,并详细解释了它们在文本处理中的应用。包括一个PHP版的br2nl函数及一个JavaScript版的实现。

真是搞不明白,php里有nl2br这样的好函数,但是为什么就没有它的反函数呢?只好自己在网站找了一个br2nl。分两个版本:php和javascript的。

php版的代码如下:

function br2nl($text) {    
    return preg_replace('/<br\\s*?\/??>/i', '', $text);   
}  


javascript版的代码如下:

function br2nl(txt) {   
    var re = /(<br\/>|<br>|<BR>|<BR\/>)/g;   
    var s = txt.replace(re, "\n");   
    return s;                                      
}



来源:百度好友空间
在 **Buildroot** 中,`BR2` 是 **Buildroot** 的缩写,是 Buildroot 构建系统中**所有配置选项和全局变量的命名前缀**。也就是说,所有由 Buildroot 配置系统生成的变量,以及你在 `make menuconfig`、`make defconfig` 等配置界面中设置的选项,都会以 `BR2_` 开头。 --- ### ✅ 1. `BR2` 的含义 - `BR2` = **Buildroot version 2** - 虽然现在 Buildroot 已经发展到较新版本,但这个命名习惯沿用至今。 - 所有与 Buildroot 配置相关的变量都以 `BR2_` 开头,表示这些变量属于 Buildroot 顶层配置系统。 --- ### ✅ 2. `BR2_` 变量的作用 这些变量用于控制 Buildroot 的行为,包括: - 是否启用某个包(如 `BR2_PACKAGE_BUSYBOX=y`) - 选择系统架构(如 `BR2_arm=y`) - 选择编译器(如 `BR2_TOOLCHAIN_BUILDROOT_GCC=y`) - 指定构建输出目录(如 `BR2_OUTPUT_DIR=output`) 这些变量最终会被写入 `.config` 文件,并在构建时被 Buildroot 的 Makefile 系统加载。 --- ### ✅ 3. 示例:`BR2_` 变量在 `.config` 文件中 ```makefile BR2_arm=y BR2_TOOLCHAIN_BUILDROOT_GCC=y BR2_PACKAGE_BUSYBOX=y BR2_PACKAGE_DEMOAPP=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.110" ``` 这些变量决定了 Buildroot 构建系统的最终行为。 --- ### ✅ 4. `BR2_` 变量在 `.mk` 文件中的使用 你可以在 `.mk` 文件中使用这些变量来控制构建逻辑,例如: ```makefile # package/demoapp/demoapp.mk DEMOAPP_DEPENDENCIES = zlib # 根据配置决定是否启用某个功能 ifeq ($(BR2_PACKAGE_DEMOAPP_WITH_DEBUG),y) DEMOAPP_CONF_OPTS += --enable-debug endif $(eval $(autotools-package)) ``` --- ### ✅ 5. `BR2_` 变量的来源 - 用户通过 `make menuconfig`、`make xconfig` 等配置界面设置 - 保存在 `.config` 文件中 - 在构建时被 Buildroot 的 Makefile 加载为环境变量 --- ### ✅ 6. 常见的 `BR2_` 变量分类 | 分类 | 示例 | 含义 | |------|------|------| | 架构相关 | `BR2_arm`, `BR2_x86_64` | 选择目标平台架构 | | 工具链 | `BR2_TOOLCHAIN_BUILDROOT`, `BR2_TOOLCHAIN_EXTERNAL` | 使用 Buildroot 自带或外部工具链 | | 内核配置 | `BR2_LINUX_KERNEL`, `BR2_LINUX_KERNEL_CUSTOM_VERSION` | 控制是否构建 Linux 内核及版本 | | 包选择 | `BR2_PACKAGE_BUSYBOX`, `BR2_PACKAGE_DEMOAPP` | 控制是否包含某个软件包 | | 构建路径 | `BR2_OUTPUT_DIR`, `BR2_STAGING_DIR` | 构建输出和中间目录路径 | --- ### ✅ 总结 | 项目 | 说明 | |------|------| | `BR2` | Buildroot 的缩写,是所有 Buildroot 配置变量的前缀 | | `BR2_` 变量 | 控制 Buildroot 的构建行为,包括架构、工具链、包选择等 | | `.config` 文件 | 保存所有 `BR2_` 变量的配置值 | | 在 `.mk` 文件中使用 | 可以通过 `ifeq` 判断配置值,控制构建逻辑 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值