>  기사  >  백엔드 개발  >  rn怎样在PHP的正则表达式中匹配到?

rn怎样在PHP的正则表达式中匹配到?

WBOY
WBOY원래의
2016-06-23 13:11:201733검색

例如这么一串小字符串,\r\n
如何匹配到\r\n?
(\\r\\n)+好像不行?


回复讨论(解决方案)

“/[\r\n]+/" 一定要放在双引号中,否则 \r\n 会被解释为 \、r、\、n
或 '/[\x0d\x0a]+/'

我单独做了个字符串试了下,确实是可以,但是我遇到的问题是:
我是从数据库中取出的一个字符串,这串字符串中包含\r\n这样的换行符,直接输出到浏览器是原样输出,我想用preg_replace用
替换这两个字符,不管怎样都无法提取到这两个字符,像"/(\\r\\n)+/"或者如你所说的那样替换,都无法匹配到。字符串录入数据库时已经做过转义,肯定版主解答下这是什么原因?非常感谢

“/[\r\n]+/" 一定要放在双引号中,否则 \r\n 会被解释为 \、r、\、n
或 '/[\x0d\x0a]+/'


我单独做了个字符串试了下,确实是可以,但是我遇到的问题是:
我是从数据库中取出的一个字符串,这串字符串中包含\r\n这样的换行符,直接输出到浏览器是原样输出,我想用preg_replace用
替换这两个字符,不管怎样都无法提取到这两个字符,像"/(\\r\\n)+/"或者如你所说的那样替换,都无法匹配到。字符串录入数据库时已经做过转义,肯定版主解答下这是什么原因?非常感谢

echo base64_encode(你直接从数据库里独处的内容);
贴出结果

转 

php 提供有 nl2br 函数,就是干这个这个事情的

echo base64_encode(你直接从数据库里独处的内容);
贴出结果

转 

php 提供有 nl2br 函数,就是干这个这个事情的



nl2br试过,没有作用,因为被转义成了 \\r\\n
我用str_replace("\\r\\n","
",$string);是可以成功替换的达到要求的。
 base64_encode输出结果:
W3NpemU9MjBdMjBweOeahOWtl+S9k1svc2l6ZV1cclxuW2Jd5paH5a2X5Yqg57KXWy9iXVxyXG5baV3lgL7mlpxbL2ldXHJcblt1XeS4i+WIkue6v1svdV1cclxuW3Nd5Lit5YiS57q/Wy9zXVxyXG5bY29sb3I9I2YwMF3nuqLoibJbL2NvbG9yXVxyXG5bdXJsXWh0dHA6Ly93d3cuMTYzLmNvbVsvdXJsXVxyXG5bZW1haWxdcmVkXzAyNkAxNjMuY29tWy9lbWFpbF1cclxuW2ltZ11xcGljLzMvMzAuZ2lmWy9pbWdd

$s = 'W3NpemU9MjBdMjBweOeahOWtl+S9k1svc2l6ZV1cclxuW2Jd5paH5a2X5Yqg57KXWy9iXVxyXG5baV3lgL7mlpxbL2ldXHJcblt1XeS4i+WIkue6v1svdV1cclxuW3Nd5Lit5YiS57q/Wy9zXVxyXG5bY29sb3I9I2YwMF3nuqLoibJbL2NvbG9yXVxyXG5bdXJsXWh0dHA6Ly93d3cuMTYzLmNvbVsvdXJsXVxyXG5bZW1haWxdcmVkXzAyNkAxNjMuY29tWy9lbWFpbF1cclxuW2ltZ11xcGljLzMvMzAuZ2lmWy9pbWdd';$s = base64_decode($s);echo nl2br(stripcslashes($s));
20px的字体<br /><strong>文字加粗</strong><br />倾斜<br />下划线<br />中划线<br />[color=#f00]红色[/color]<br />http://www.163.com<br />red_026@163.com<br />

$s = 'W3NpemU9MjBdMjBweOeahOWtl+S9k1svc2l6ZV1cclxuW2Jd5paH5a2X5Yqg57KXWy9iXVxyXG5baV3lgL7mlpxbL2ldXHJcblt1XeS4i+WIkue6v1svdV1cclxuW3Nd5Lit5YiS57q/Wy9zXVxyXG5bY29sb3I9I2YwMF3nuqLoibJbL2NvbG9yXVxyXG5bdXJsXWh0dHA6Ly93d3cuMTYzLmNvbVsvdXJsXVxyXG5bZW1haWxdcmVkXzAyNkAxNjMuY29tWy9lbWFpbF1cclxuW2ltZ11xcGljLzMvMzAuZ2lmWy9pbWdd';$s = base64_decode($s);echo nl2br(stripcslashes($s));
20px的字体<br /><strong>文字加粗</strong><br />倾斜<br />下划线<br />中划线<br />[color=#f00]红色[/color]<br />http://www.163.com<br />red_026@163.com<br />



非常非常感谢!
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.