假設我們有跟隨陣列:如何獲得基於字符串順序匹配的字符串模式
$regexList = ['/def/', '/ghi/', '/abc/'];
和串波紋管:
$string = '
{{abc}}
{{def}}
{{ghi}}
';
的想法是要從上到下經過字符串並依靠正則表達式列表,找到結果並用大寫內容替換爲模式爲tha t無論按照什麼順序匹配發生的字符串順序regexListarray是。
所以,這就是我想要的輸出:
- ABC被匹配:/ ABC /;
- DEF被匹配:/ def /;
- GHI匹配:/ ghi /;
或在leats
- ABC通過模式匹配:2;
- DEF符合條件:0;
- GHI匹配:1;
這個代碼我已經嘗試:
$regexList = ['/def/', '/ghi/', '/abc/'];
$string = '
abc
def
ghi
';
$string = preg_replace_callback($regexList, function($match){
return strtoupper($match[0]);
}, $string);
echo '<pre>';
var_dump($string);
這只是輸出:
string(15) "
ABC
DEF
GHI
"
如何才能得到補償或模式匹配在$這些字符串字符串順序(從上到下)?謝謝。
的[獲取在預浸\ _replace \當前指數可能的複製_callback?](https://stackoverflow.com/questions/8484062/getting-the-current-index-in-preg-replace-callback) – RST
@RST:這與問題無關。 – Toto