2017-05-22 10 views
0

私は複数のWIKI型タグを含む文字列を持っています。例えば[[TAG:4567]]。後で置換を実行できるように、文字列からすべてのタグを特定/抽出する必要があります。例えばPHP regexp - パターンのすべての出現を抽出する方法

、この文字列のために:

0: [[TITLE]] 
1: [[LINK:27654]] 

私はPHPのするpreg_matchが働くかもしれないと思ったが、それは間に余分な文字の全体の束を返します。

this is a test [[TITLE]] of more test [[LINK:27654]] 

私はの配列がしたいです正規表現はマッチします。しかし、私はそれが対象文字列の1つの一致でのみ動作すると思います。

$subject = "this is a test [[TITLE]] of more test [[LINK:27654]]"; 
preg_match('/(?<=\[\[)(.*)(?=\]\])/', $subject, $matches); 
print_r($matches); 

しかし、それは私を与える:これは私が試したものです

私は必要なものではありません
Array ( 
    [0] => TITLE]] of more test [[LINK:27654 
    [1] => TITLE]] of more test [[LINK:27654 
) 

。タグを抽出する簡単な方法はありますか?私は本当に文字列を反復して手動で抽出しないようにしたいと思います。

答えて

0

Try this code snippet here

<?php 

ini_set('display_errors', 1); 
$subject = "this is a test [[TITLE]] of more test [[LINK:27654]]"; 
preg_match_all('/\[\[.*?\]\]/', $subject, $matches); 
print_r($matches); 
+0

preg_match_allたキーになります解決するために簡単に(とも正しい)正規表現のように見えます。私は答えとして両方をマークすることを願っています。 – cardinalPilot

1

が、これは

/\[\[(.*?)\]\]/ 
関連する問題