2014-10-17 2 views
0


[[[의 mapId]] 1994
[[[가격]] 7000
[[[cate1]] TOP
[[[[]] 시작] [메이커]]
가 [[[원 ž]]
가 [[[modig]] N
가 [[[ftend]]

가 [[[시작]]
[[[ mapid]]] 1994
[[[가격]]] 15000 0 123, [[[cate1]] TOP2
[[[머신]]
[[[원 ž]]
[[[modig]] N
[[[ftend]]
. ..PHP으로, preg_match_all 키 값 쌍

여기는 여러 데이터 템플릿입니다.

내가 키 - 값 쌍 결과,는 preg_match를 사용하려면,이 시간

$pattern .= "(?P<mapid>[[[pname]]](.*?))"; 
$pattern .= "[[[price]]](.*?)"; 
... 

이 별도로 난 다음 결과 원하는

[mapid] => [0] => 175741 

결과

[mapid] => [0] => [[[mapid]]]175741 

이지만, 내가 가격을 원하지 않을 때,

$pattern .= "(?P<mapid>[[[pname]]](.*?))"; 
$pattern .= "?([[[price]]](.*?))"; 

작동하지 않음 ...

원하는 결과를 얻으려면 어떻게해야합니까?

답변

0
(?P<mapid>(?<=\[\[\[price\]\]\]).*) 

시도해보십시오. 데모를보십시오.

http://regex101.com/r/dZ1vT6/47

+0

모양 숨김 사용할 필요가 없습니다 : (?. P *)'\ [\ [\ [가격 \] \] \]' – nhahtdh