php preg_match_all在字符串中查找gettext语言字符串

时间:2019-05-28 15:52:12

标签: php regex preg-match-all

你好

所以我试图在php的字符串中找到多gettext语言字符串。

类似:

$test = "
    sadsssss_('test1');

    sdfsd _('test2');
";
preg_match_all("/_('(.*?)')/s", $test, $matches);
echo '<pre>';
print_r($matches);
echo '</pre>';

这个例子不起作用,但是我对模式还是不太了解。

尝试使用谷歌搜索,无法找到我可以使用的模式。

谢谢。

1 个答案:

答案 0 :(得分:1)

您的原始表达式很好,我们可能想添加一个m标志:

\('(.+?)'\)

测试

$re = '/\(\'(.+?)\'\)/m';
$str = '    sadsssss_(\'test1\');

    sdfsd _(\'test2\');
';

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

foreach ($matches as $key => $value) {
    echo $value[1] . "\n";
}

DEMO

RegEx电路

jex.im可视化正则表达式:

enter image description here