Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于从smarty文件提取字符串的正则表达式_Php_Regex_Smarty_Preg Match - Fatal编程技术网

Php 用于从smarty文件提取字符串的正则表达式

Php 用于从smarty文件提取字符串的正则表达式,php,regex,smarty,preg-match,Php,Regex,Smarty,Preg Match,我有一批Smarty文件需要从中提取字符串,我需要从中提取的两种格式是: format 1 : {lang mkey='some_str'} format 2 : {lang skey='some_other_str'} 我需要输出为: some_str some_other_str 我使用的是php,提前谢谢,很抱歉有新的问题,但我对regex非常陌生。再次,我在大约100个文件中运行了它,但在一些情况下它出现了错误,例如:{lang mkey='please\u be\u sure'}{

我有一批Smarty文件需要从中提取字符串,我需要从中提取的两种格式是:

format 1 : {lang mkey='some_str'}
format 2 : {lang skey='some_other_str'}
我需要输出为:

some_str
some_other_str

我使用的是php,提前谢谢,很抱歉有新的问题,但我对regex非常陌生。

再次,我在大约100个文件中运行了它,但在一些情况下它出现了错误,例如:{lang mkey='please\u be\u sure'}{lang mkey='change\u your\u admin\u pwd'}如果这些都在同一行上,那么您需要执行以下操作来使用nongreedy匹配。“/[ms]key='(.+?)'/”您好,我再次运行了大约100个文件,但在一些情况下出现了错误,例如:{lang mkey='please\u bee\u sure'}{lang mkey='change\u your_admin\u pwd'}如果这些都在同一行中,那么您需要执行以下操作来使用nongreedy匹配。“/[ms]键='(.+?)'/”
<?php
  $results = array();
  preg_match_all("/[ms]key='(.+?)'/", $input, $results, PREG_PATTERN_ORDER);
  echo $results[1]."\n";
?>