Php Regex-获取字符串中的所有匹配项

Php Regex-获取字符串中的所有匹配项,php,regex,Php,Regex,我有这样一个字符串: $sContent = "t('Dashboard').' '.t('Settings Test').' '.t('My Test').' '.t('Other test')"; 我需要的是一个正则表达式,它获取每个单独的t(“”)值,如: t('Dashboard') t('Settings Test') ... 在PHP中,我使用了: $sRegExp = '/t\((.*)\)/i'; preg_match_all($sRegExp, $sContent, $aR

我有这样一个字符串:

$sContent = "t('Dashboard').' '.t('Settings Test').' '.t('My Test').' '.t('Other test')";
我需要的是一个正则表达式,它获取每个单独的t(“”)值,如:

t('Dashboard')
t('Settings Test')
...
在PHP中,我使用了:

$sRegExp = '/t\((.*)\)/i';
preg_match_all($sRegExp, $sContent, $aResults);
我得到了与主字符串相同的结果:

t('Dashboard').' '.t('Settings Test').' '.t('My Test').' '.t('Other test')
您可以使用:

$sRegExp = '/t\((.*?)\)/

您可以使用:

$sRegExp = '/t\((.*?)\)/

我会尝试以下功能:

$sContent = "t('Dashboard').' '.t('Settings Test').' '.t('My Test').' '.t('Other test')";
$sContents = explode(".' '.", $sContent);
我会尝试以下功能:

$sContent = "t('Dashboard').' '.t('Settings Test').' '.t('My Test').' '.t('Other test')";
$sContents = explode(".' '.", $sContent);

好吧,让我们假设你永远不会在文本中使用。那么这应该会有帮助

preg_match_all('/t\(\'(?<=t\(\')([^\']*(?!=\'\)))\'\)/', $subject, $result, PREG_PATTERN_ORDER);
$result = $result[0];

preg\u match\u all('/t\(\')(?好吧,让我们假设您永远不会在该文本中使用'

preg_match_all('/t\(\'(?<=t\(\')([^\']*(?!=\'\)))\'\)/', $subject, $result, PREG_PATTERN_ORDER);
$result = $result[0];
preg\u match\u all(“/t\(\”)请看请看