2013-04-14 43 views
0
I have a string = "[VIDEO]http://www.youtube.com/watch?v=etye3skwu9w[/Video]" 

我使用下面的正則表達式匹配視頻標籤如何忽略使用正則表達式在字符串中空格在PHP

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

它工作正常,如果在[VIDEO]標籤沒有空間。但是,如果有任何空間像[ VIDEO ],它不會工作。

我該如何忽略空格。我的意思是如果標籤是這樣[ VIDEO ],我的REGEX應該工作。

回答

3

在要允許空格的位置添加\s*\s是空白,*是任何重複次數(包括零):

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

\s任何空白匹配。您可以使用此:

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

這讓像[ VIDEO ][/ VIDEO]空格。或者,僅允許空格

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

一個空間

'/\[ ?VIDEO ?\](.+?)\[ ?\/ ?VIDEO ?\]/i' 
相關問題