我想不過我只收到一個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
有什麼想法嗎?
對不起,我的英語不好。
嘗試'preg_match_all('/ {{type = \「(。+?)\」}}/mi',$ html,$ matches,PREG_SET_ORDER);' – zanderwar