0
我需要建議如何從這個字符串中提取內容。如何拉elseif - preg_match_all
$string = "{elseif "xxx"=="xxx"} text {elseif "xx2"!="xx2"}
text text
text
{elseif ....} text";
//or 'xxx'=='xxx'
$regex = "??";
preg_match_all($regex, $string, $out, PREG_SET_ORDER);
var_dump($out);
而且我的var_dump輸出的想法是:
array
0 =>
array
0 => string 'xxx' (length=3)
1 => string '==' (length=2)
2 => string 'xxx' (length=3)
3 => string 'text' (length=4)
1 =>
array
1 => string 'xx2' (length=)
2 => string '!=' (length=)
3 => string 'xx2' (length=)
4 => string 'text text
text' (length=)
2 =>
array
...
輸出不一定是如下,但相同的內容。
我嘗試:
$regex = "~{elseif ([\"\'](.*)[\"\'])(!=|==|===|<=|<|>=|>)([\"\'](.*)[\"\'])}(.*)~sU";
但我有不好的或不輸出的內容。
你有什麼企圖嗎? – Jerry
現在您剛剛告訴我們您的部分/次要問題,以及您尋求解決問題的錯誤工具(您沒有經驗)。詳細說明上下文和先前的嘗試。 – mario
你會碰到這樣的解析頭痛。例如,你最終會嘗試嵌套一個'{if}'語句,它將不起作用。你最終會嘗試使用不起作用的變量。您最終需要檢查多個不可用的值。這只是一個等待發生的頭痛。 –