首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP中使用正则表达式匹配空格、回车符和换行符?

如何在PHP中使用正则表达式匹配空格、回车符和换行符?
EN

Stack Overflow用户
提问于 2011-09-23 18:55:00
回答 3查看 93.1K关注 0票数 36

我正在使用PHP中的正则表达式。我有以下字符串:

代码语言:javascript
复制
<img 
src="/files/admin/hotel_website.gif" alt="Go To The Hotel's Web 
Site" align="absmiddle" border="0" class="hotel_icon" />

此字符串包含回车符和换行符。

我希望我的正则表达式用img替换html IMG标记,但这对上面的文本不起作用。

通过遍历字符串中的每个字符并打印出可在此处找到的十六进制表示(http://pastebin.com/ViNdBsRV),我发现它包含这些字符。

下面是我的正则表达式:

代码语言:javascript
复制
strip_tags(preg_replace('/^\s*<img\s*.*\/?>\s*$/i', '[IMG]', $test));

感谢你的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-23 19:21:40

这一点:

代码语言:javascript
复制
preg_replace("#<img.+?/>#is", '[IMG]', $test)

就我个人而言,当我创建正则表达式时,我总是尽量使用最短/最简单的表达式。这里你想替换一个以'<img‘开头并以'/>’结尾的整个标签,'.+?‘是一个非贪婪(懒惰)的标签。对于用于大小写的修饰符'i‘和用于.的修饰符's’,可以将其作为新行。

更多关于贪婪与懒惰的信息:http://www.regular-expressions.info/repeat.html

有关修饰符的更多信息:http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php

票数 9
EN

Stack Overflow用户

发布于 2011-09-23 18:58:36

[\n\r]+将匹配新行。对于空格,添加[\n\r\s]+

票数 92
EN

Stack Overflow用户

发布于 2014-08-06 23:10:31

这对我来说很有效,它可以匹配多个空格和多行,也可以匹配任何其他字符或符号。

代码语言:javascript
复制
[\S+\n\r\s]+

希望这对任何人都有帮助。

例如,它匹配:

代码语言:javascript
复制
stpd  : asdfasdf
this is also matching ***
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7527895

复制
相关文章

相似问题

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