首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将行中断为回车preg_replace

问将行中断为回车preg_replace
EN

Stack Overflow用户
提问于 2011-07-08 06:44:01
回答 2查看 492关注 0票数 1

我正在尝试使用preg_replace将<br>或<br />转换为回车符(&#13;)。我的问题似乎是它要么找不到<br>,要么不能识别我试图传入的十六进制代码。

代码语言:javascript
复制
preg_replace('`<br(?: /)?>(\x{13}/u)`', '$1', $content);

其他信息:我传入的字符串有&quot;,但我不认为这会影响preg_replace()。

以下是一些帮助我走到这一步的链接:

http://www.webmasterworld.com/forum21/10973.htm (在工具提示中使用回车符而不是\n )

http://us2.php.net/manual/en/reference.pcre.pattern.modifiers.php#58409 (使用\x{13}而不是&#13)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-08 06:57:58

嗯,你的preg_replace格式看起来有点奇怪。不知道为什么你要用这样的反向引用?对于这样简单的代码,第一个变量应该是regex。第二个应该是替换,第三个应该是受制:

代码语言:javascript
复制
preg_replace('%<br.*?>%', '&#13;', $content);

我认为这是可行的,但我不擅长正则表达式。.*?应匹配下一个>之前的任何字符

票数 0
EN

Stack Overflow用户

发布于 2011-07-08 07:01:03

你是不是要把它用来展示给网络?如果是这样的话,我不确定为什么要用<br />标记替换回车符。你发布的第一个链接的回复是正确的:

在插入回车/换行符的实体时(

或)将在Windows的Internet Explorer中产生所需的结果,但它不是任何标准的一部分,并且不受例如Windows上的壁虎浏览器的支持。我没有测试过其他平台。

@choster

然而,为了纠正你的问题。第一个参数是要匹配的模式,第二个参数是要用来替换匹配的内容,第三个参数是内容。

正确的实现应该是这样的

代码语言:javascript
复制
echo preg_replace('/<br\s?\/?>/', '\x{13}/u', "<br> <br />");

我不确定\x{13}/u位是否可以工作,因为我还没有测试过。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6618014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档