2016-07-29 15 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

ありがとうございます。 @count}は0を表示します:( –

+0

@EmanuelSchiendorfer:申し訳ありません、私は打ち間違いをしました、 'preg_match_all'を使用してください。私の編集を参照してください – Toto

+0

ありがとう! :) –