2016-07-29 20 views
0

如何計算smarty中的preg_match匹配?爲什麼以下不起作用?在smarty中計數preg_match

{preg_match("/\[PGN.*](.*)\[\/PGN.*\]/", $code, $match)} 

{$match|@count} 
+0

什麼是不工作? '$ code'的內容是什麼?你得到了什麼?你能指望什麼? – Toto

+0

$代碼=「[PGN1] 1。D4 NF6 2. C4 G6 [/ PGN1] [PGN2] 1。D4 NF6 2. C4 G6 [/ PGN2] [PGN3] 1。D4 NF6 2. C4 G6 [/ PGN3] [PGN4] 1。D4 NF6 2. C4 G6 [/ PGN4] [PGN5] 1。D4 NF6 2. C4 G6 [/ PGN5] [PGN6] 1。D4 NF6 2. C4 g6 [/ PGN6] [PGN7] 1. d4 Nf6 2. c4 g6 [/ PGN7]「 所以我會期待答案7.但不知何故,我得到」1 2「 –

回答

0

據我瞭解您的需求,下面不工作,只是讓正則表達式不貪:

preg_match_all("~\[PGN\d+](.+?)\[/PGN\d+]~", $code, $match) 
+0

謝謝,但{$ match | @count}顯示0 :( –

+0

@EmanuelSchiendorfer:對不起,我犯了一個錯字,使用'preg_match_all'。看我的編輯。 – Toto

+0

謝謝!現在它的工作:) –