定义:我在处理PHP 字符串与动态限制
的差异
时遇到了这种情况。它可能是更好地理解我想要什么的参考。
问题:
假设我有一个主字符串:
“这是一个带有{2} 个占位符的{1}字符串”
和一个次要的:
“这是一个非常相似的字符串,其中包含占位符的数据”
问题:
如何为每个占位符获取一个变量,称为$v1
, $v2
, $vn
,其值分别是“非常相似”和“数据”?如您所见,我需要为每个占位符分配不在主占位符中的子字符串。
注意:
我正在使用PHP。
定义:我在处理PHP 字符串与动态限制
的差异
时遇到了这种情况。它可能是更好地理解我想要什么的参考。
问题:
假设我有一个主字符串:
“这是一个带有{2} 个占位符的{1}字符串”
和一个次要的:
“这是一个非常相似的字符串,其中包含占位符的数据”
问题:
如何为每个占位符获取一个变量,称为$v1
, $v2
, $vn
,其值分别是“非常相似”和“数据”?如您所见,我需要为每个占位符分配不在主占位符中的子字符串。
注意:
我正在使用PHP。
您应该能够使用正则表达式来执行以下操作:
$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。
也许使用sprintf ?
$string = 'This is a %s string with %s placeholders';
$v1 = 'very similar';
$v2 = 'data for the';
$result = sprintf($string, $v1, $v2);