如何在php中使用Regex忽略字符串中的空格

时间:2013-04-14 07:55:09

标签: php regex

I have a string = "[VIDEO]http://www.youtube.com/watch?v=etye3skwu9w[/Video]"

我使用以下Regex来匹配VIDEO标签

'/\[VIDEO\](.+?)\[\/VIDEO\]/i'

如果[VIDEO]标记中没有空格,它可以正常工作。但如果有[ VIDEO ],这样的空间,它就行不通。

如何忽略空格。我的意思是如果标签是这样的[ VIDEO ],我的REGEX应该工作。

2 个答案:

答案 0 :(得分:3)

在要允许空格的位置添加\s*\s是空格,*是任意数量的重复(包括零):

'/\[\s*VIDEO\s*\](.+?)\[\s*\/VIDEO\s*\]/i

答案 1 :(得分:1)

\s匹配任何空格。你可以用这个:

'/\[\s*VIDEO\s*\](.+?)\[\s*\/\s*VIDEO\s*\]/i'

这允许[ VIDEO ][/ VIDEO]这样的空格。或者,只允许空格

'/\[ *VIDEO *\](.+?)\[ *\/ *VIDEO *\]/i'

一个空间

'/\[ ?VIDEO ?\](.+?)\[ ?\/ ?VIDEO ?\]/i'