Я пытаюсь очистить эти группы захвата регулярных выражений, потому что они правильно захватывают только для меня, это странный возврат для preg_match_all
, странный для меня, так как он впервые использует preg_match_all
Тестовый код:: http://ideone.com/7NnrI1
Регулярное выражение
/(?=<!--\sBEGIN\s(.*?)\s-->(.*?)(?=<!--\sEND\s(.*?)\s-->))/s
Вернуть
Array
(
[0] => Array
(
[0] => Array
(
[0] =>
[1] => 0
)
[1] => Array
(
[0] =>
[1] => 326
)
)
[1] => Array
(
[0] => Array
(
[0] => switch_legend
[1] => 11
)
[1] => Array
(
[0] => switch_default
[1] => 337
)
)
[2] => Array
(
[0] => Array
(
[0] =>
<ul id="picture_legend">
<li><img src="{FORUM_NEW_IMG}" alt="{L_NEW_POSTS}" />{L_NEW_POSTS}</li>
<li><img src="{FORUM_IMG}" alt="{L_NO_NEW_POSTS}" />{L_NO_NEW_POSTS}</li>
<li><img src="{FORUM_LOCKED_IMG}" alt="{L_LOCKED}" />{L_LOCKED}</li>
</ul>
[1] => 28
)
[1] => Array
(
[0] =>
<ul id="picture_legend">
<li><img src="{FORUM_NEW_IMG}" alt="{L_NEW_POSTS}" />{L_NEW_POSTS}</li>
<li><img src="{FORUM_IMG}" alt="{L_NO_NEW_POSTS}" />{L_NO_NEW_POSTS}</li>
<li><img src="{FORUM_LOCKED_IMG}" alt="{L_LOCKED}" />{L_LOCKED}</li>
</ul>
[1] => 355
)
)
[3] => Array
(
[0] => Array
(
[0] => switch_legend
[1] => 308
)
[1] => Array
(
[0] => switch_default
[1] => 635
)
)
)
Ожидаемый доход
Array
(
[0] => Array
(
[0] => Array
(
[0] =>
[1] => 0
)
[1] => Array
(
[0] => switch_legend
[1] => 11
)
[2] => Array
(
[0] =>
<ul id="picture_legend">
<li><img src="{FORUM_NEW_IMG}" alt="{L_NEW_POSTS}" />{L_NEW_POSTS}</li>
<li><img src="{FORUM_IMG}" alt="{L_NO_NEW_POSTS}" />{L_NO_NEW_POSTS}</li>
<li><img src="{FORUM_LOCKED_IMG}" alt="{L_LOCKED}" />{L_LOCKED}</li>
</ul>
[1] => 28
)
[3] => Array
(
[0] => switch_legend
[1] => 308
)
)
[1] => Array
(
[0] => Array
(
[0] =>
[1] => 326
)
[1] => Array
(
[0] => switch_default
[1] => 337
)
[2] => Array
(
[0] =>
<ul id="picture_legend">
<li><img src="{FORUM_NEW_IMG}" alt="{L_NEW_POSTS}" />{L_NEW_POSTS}</li>
<li><img src="{FORUM_IMG}" alt="{L_NO_NEW_POSTS}" />{L_NO_NEW_POSTS}</li>
<li><img src="{FORUM_LOCKED_IMG}" alt="{L_LOCKED}" />{L_LOCKED}</li>
</ul>
[1] => 355
)
[3] => Array
(
[0] => switch_default
[1] => 635
)
)
)
Что мне нужно
Я хотел бы, чтобы массив был чистым от совпадений, чтобы не каждый захват одного и того же шаблона находился в одном и том же массиве, а каждый раз, когда он начинает захват, он будет добавляться в один и тот же массив, как в Expected Return
Спасибо.
PREG_SET_ORDER
это то, что вам нужно. - person mario   schedule 22.03.2015preg_match_all
? - person EasyBB   schedule 22.03.2015