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}'语句,它将不起作用。你最终会尝试使用不起作用的变量。您最终需要检查多个不可用的值。这只是一个等待发生的头痛。 –