定义:
我在PHP string Differences with Dynamic restrictions工作时遇到了这种情况。它可能是更好地理解我想要的东西的参考。
问题:
假设我有一个主字符串:
“这是 {1} 字符串 {2} 占位符”
次要:
“这是一个非常相似的字符串,占位符数据
问题:
我如何为每个占位符获取一个变量,称为$v1
,$v2
,$vn
,其值为“非常相似”和“数据为分别是“?正如您所看到的,我需要为每个占位符分配不在主要字符串中的子字符串。
备注:
我正在使用 PHP 。
答案 0 :(得分:2)
您应该可以使用正则表达式执行以下操作:
$pattern="/This is a (.*) string with (.*) placeholders/";
$subject="This is a very similar string with data for the placeholders";
preg_match($pattern,$subject,$matches);
$v1=$matches[1];
$v2=$matches[2];
有关php中正则表达式的更多信息,请参阅http://php.net/manual/en/function.preg-match.php。
答案 1 :(得分:0)
可能使用sprintf?
$string = 'This is a %s string with %s placeholders';
$v1 = 'very similar';
$v2 = 'data for the';
$result = sprintf($string, $v1, $v2);