問題があります。非常に複雑な動的文字列で値を取得したいと思います。これは文字列です
<['pritesh:name:nilesh:replace']>
これは動的な文字列であり、名前を取得してこの文字列の変数値を置き換えたいと思います。
$exploded = explode(':', $string);
$exploded[1] = $replacement;
$string = implode(':', $exploded);
文字列の形式については正確にはわかりませんが、ここで説明します。
explode
区切り文字付きの文字列を配列に変換するために使用できます。次に、値を変更して、「:」などで区切られた形式に戻すことができます。これを行うには、 :join
のエイリアスであるを使用します。implode
<?php
// initialize variable and print it
$s = "pritesh:name:nilesh:replace";
print("{$s}\n");
$s = explode(":", $s); // convert to array
$s[1] = "anotherName"; // change value
// convert back to foo:bar form and print
$s = join($s, ":");
print("{$s}\n");
?>
それをファイルに入れてexample.php
、コマンドラインで実行します。
$ php -q example.php
pritesh:name:nilesh:replace
pritesh:anotherName:nilesh:replace
誰かが言ったように、より高度なフォーマットを処理する必要がある場合は、PHPで正規表現を使用する方法を学ぶ必要があります。
お役に立てば幸いです。
文字列がと呼ばれる変数に格納されていると仮定すると、次のよう$string
になります。
$parts = explode(':', $string);
// this will mean that
// $parts[0] contains pritesh, $parts[1] = name, $parts[2] = nilesh and $parts[3] = replace
// therefore
$name = $parts[0];
$replace = $parts[2];