2

定義: PHP 文字列の相違点と動的な制限
に取り組んでいるときに、このシナリオに遭遇しました。私が何を望んでいるかをよりよく理解するための参考になるかもしれません。

問題:主な
文字列 があるとします:

"これは、{2}プレースホルダーを持つ{1}文字列です"

そして二次的なもの:

「これは、プレースホルダーのデータを含む非常によく似た文字列です」

質問: 、、
と呼ばれるプレースホルダーごとに 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 に答える