Я пытаюсь получить всех матчей однако я только получать одинне preg_match_all соответствие всех возможностей
Вот моей строка
$html = '<p> This is my Home Page.</p><p><span style="line-height: 1.42857;">{{ type="slider" }} </span></p><p> </p>';
Если вы видите строка содержит {{ type="slider" }}
, теперь, если я пишу эта строка только один раз, когда я получаю ожидаемый результат, , но если я напишу его несколько раз в html жало, например {{ type="slider" }}
{{ type="banned" }}
{{ type="testimonial" }}
$html = '<p> This is my Home Page.</p><p><span style="line-height: 1.42857;">{{ type="slider" }} {{ type="banner" }} {{ type="testimonial" }} </span></p><p> </p>';
и попытаться получить значение в пределах моей строки {{ type=" ???? " }}
это показывает странно результат
Я использую этот код, приведенные ниже.
preg_match_all('/{{ type=\"(.+)\" }}/', $html, $matches, PREG_SET_ORDER);
echo "<pre>";
print_r($matches);
foreach ($matches as $val) {
echo "matched: ". $val[0] . "<br/>";
echo "My Value" . $val[1] . "<br/>";
}
Текущий результат:
Array
(
[0] => Array
(
[0] => {{ type="slider" }} {{ type="banner" }} {{ type="testimonial" }}
[1] => slider" }} {{ type="banner" }} {{ type="testimonial
)
)
matched: {{ type="slider" }} {{ type="banner" }} {{ type="testimonial" }}
My Value : slider" }} {{ type="banner" }} {{ type="testimonial
Я ожидаю результат в массив со значениями, написанных между {{ type="
и " }}
с {{ type="slider" }}
только я получаю этот результат, который идеально подходит.
Array
(
[0] => Array
(
[0] => {{ type="slider" }}
[1] => slider
)
)
matched: {{ type="slider" }}
My Value : slider
Любая идея?
Извините за мой плохой английский.
try 'preg_match_all ('/ {{type = \" (. +?) \ "}}/Mi', $ html, $ matches, PREG_SET_ORDER);' – zanderwar