Javascript的replace函数以及PHP中的str_replace()函数

今天在做项目的时候遇到要把textarea的值取出存入数据库中,然后再提取出来放在网页中显示。本来这是一个非常简单的部分,只需要在php中使用post将textarea值取出放入数据库中就可以。

但是在做测试的时候无意中发现如果我在输入textarea的时候加入回车(Enter)的时候,存入数据库再取出显示在网页中格式就会出现错误(原先回车的地方被<br>所取代)。

后来在网页查找了一下发现这是因为不同的结构对于回车的记录方式不同引起的:

(1)在textarea和data base中回车是以‘\n’或者是‘\r\n’的形式存储的(具体两种有什么区别暂时还没有深究);

(2)而在HTML网页中回车是以<br>的方式存储的。

所以在存入取出的过程中会出现转换错误的情况。

这时候就要用到javascript中的string.replace(searchvalue,newvalue)函数了,这个函数的作用就是遍历待检测文本找出需要替换的内容并全部替换。

具体使用方法如下:

activiteInitial = activiteInitial.replace(/<br>/, '\n');

对于变量activiteInitial,查找其中的'<br>'并全部替换为'\n'。

本以为这样就万事大吉了,后来测试发现这个函数只能替换activiteInitial中的第一个<br>,对于后面的<br>依旧没有替换。在网上又找了找后发现这个问题很容易解决,只需要使用一个正则表达式就可以解决问题了。如下:

activiteInitial = activiteInitial.replace(/<br>/g, '\n');

只要在多加一个g就可以替换文本中的全部<br>。


相同的替换方法在php中也有,是str_replace(find,replace,string,count),count为可选,一个变量,对替换数进行记数。
用法如下:

$activite = str_replace('<br>', '\n', '$activite);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScriptreplace函数用于替换字符串的某个部分。它接受两个参数,第一个参数是一个正则表达式或者一个字符串,用于匹配要替换的部分。第二个参数是一个字符串或一个函数,用于替换匹配到的部分。 如果第一个参数是一个字符串,replace函数将只替换第一个匹配到的部分。如果第一个参数是一个正则表达式,并且带有"g"标志,replace函数将替换所有匹配到的部分。 如果第二个参数是一个字符串,replace函数将用这个字符串替换匹配到的部分。替换字符串可以使用特殊的替换模式,例如$1、$2等来引用正则表达式的捕获组。 如果第二个参数是一个函数replace函数将通过调用这个函数来获取替换的内容。函数的参数可以接收匹配到的文本以及正则表达式的捕获组,然后返回替换的字符串。 需要注意的是,replace函数不会改变原始字符串,而是返回一个新的字符串作为替换结果。 例如,可以使用replace函数将字符串的某个部分替换为指定的内容,如下所示: ```javascript var str = "Hello, world!"; var newStr = str.replace("world", "JavaScript"); console.log(newStr); // 输出 "Hello, JavaScript!" ``` 也可以使用正则表达式和替换模式来替换字符串的部分内容,如下所示: ```javascript var str = "I have 3 apples and 2 oranges."; var newStr = str.replace(/\d+/, "5"); console.log(newStr); // 输出 "I have 5 apples and 2 oranges." ``` 此外,replace函数还可以使用函数作为第二个参数来动态生成替换内容,如下所示: ```javascript var str = "Hello, world!"; var newStr = str.replace(/(\w+)/, function(match, p1) { return p1.toUpperCase(); }); console.log(newStr); // 输出 "HELLO, world!" ``` 以上就是replace函数JavaScript的用法和一些示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值