如何僅匹配確切的內聯代碼並匹配兩個if兩次,而不是一次匹配。php preg match with inline matches
我想獲得導致與:
陣列( [0] => ASD [1] => ASD )
不
陣列( [0] => asdasd )
如何僅匹配確切的內聯代碼並匹配兩個if兩次,而不是一次匹配。php preg match with inline matches
我想獲得導致與:
陣列( [0] => ASD [1] => ASD )
不
陣列( [0] => asdasd )
http://regexr.com?2uvuu - 使用表達式:
<!--\s+IF\s+([^\s]*)\s-->([^<]*)<!--\sENDIF\s-->
編輯:
考慮,你要匹配的if語句「標籤」裏面有什麼可能有空格,稍慢的表現應該處理任何事情
/<!--\s+IF\s+(.*?)\s-->([^<]*)<!--\sENDIF\s-->/gixsm
然後,如果您希望能夠捕捉到其他標籤(或字符:在「if語句」應該如下(在RegExr)內)結果中(如果該語句是「真」,你將要使用(再稍微慢一點)的表達(在RegExr):
/<!--\s+IF\s+(.*?)\s-->(.*?)<!--\sENDIF\s-->/gixsm
編輯完
<! - IF test == 3 - - > asd <! - ENDIF - >? –
我很抱歉,但你的問題很不完整,我不知道你在問什麼,所以我想我給了一個不完整的答案。我不知道你的if語句中可能會出現什麼,因爲我不知道語法。我會再試一次! –
嗨,對不起,我忘了提及這個語法,它的相當嵌套。感謝完美的代碼! :) –
這將是有益的這個站點的將來用戶,如果你想將上面的問題粘貼到你嘗試的示例代碼和表達式中。使用back-tick字符(在'〜'鍵上)引用文本或代碼或縮進代碼四個或更多空格,以便從文本的其餘部分設置它 –