2

定义:我在处理PHP 字符串与动态限制
的差异 时遇到了这种情况。它可能是更好地理解我想要什么的参考。

问题
假设我有一个字符串:

“这是一个带有{2} 个占位符的{1}字符串”

和一个次要的:

“这是一个非常相似的字符串,其中包含占位符的数据”

问题
如何为每个占位符获取一个变量,称为$v1, $v2, $vn,其值分别是“非常相似”“数据”?如您所见,我需要为每个占位符分配不在主占位符中的子字符串。

注意
我正在使用PHP

4

2 回答 2

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

于 2013-02-28T22:57:13.820 回答
0

也许使用sprintf ?

$string = 'This is a %s string with %s placeholders';
$v1 = 'very similar';
$v2 = 'data for the';

$result = sprintf($string, $v1, $v2);
于 2013-02-28T23:00:59.787 回答