日本PHPユーザ会 掲示板

日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。

日本PHPユーザ会 掲示板 » PHP 5 » replace

replace

ページ: 1

投稿者 投稿
会員
登録者: 10 2008
返信数: 2
質問です。
仮に配列aに
Array(
[0] => 太郎は花子が好きだ
[1] => 次郎は太郎の弟だ
[2] => 次郎と花子は同い年だ
)
という文が入っているとします。

また、配列bに
Array(
[0] => 太郎
[1] => 次郎
[2] => 花子
)
が入っている場合に

配列aを
Array(
[0] => <span class="highlight">太郎</span>は<span class="highlight">花子</span>が好きだ
[1] => <span class="highlight">次郎</span>は<span class="highlight">太郎</span>の弟だ
[2] => <span class="highlight">次郎</span>と<span class="highlight">花子</span>は同い年だ
)
という風に置き換えたいのですが、
どのようにすればよいのでしょうか?
会員
登録者: 10 2007
返信数: 71
PHPマニュアル - str_replace
より

引用
subject が配列の場合、 subject の各エントリについて検索と置換が行われ、 返り値は同様に配列となります。

とありますので、次のようにしてみました。

$a = Array(
0 => "太郎は花子が好きだ",
1 => "次郎は太郎の弟だ",
2 => "次郎と花子は同い年だ"
);

$b = Array(
0 => "太郎",
1 => "次郎",
2 => "花子"
);

foreach ( $b as $search ) {
$a = str_replace($search, "<span class=\"highlight\">{$search}</span>", $a);
}

var_dump($a);

/* 出力結果
array(3) {
[0]=>
string(89) "<span class="highlight">太郎</span>は<span class="highlight">花子</span>が好きだ"
[1]=>
string(86) "<span class="highlight">次郎</span>は<span class="highlight">太郎</span>の弟だ"
[2]=>
string(92) "<span class="highlight">次郎</span>と<span class="highlight">花子</span>は同い年だ"
}
*/

いかがでしょうか?
会員
登録者: 10 2008
返信数: 2
ありがとうございます。
何回やっても上手くいかないので、困っていました。
助かりましたm(_ _)m

勉強になりました どうもです。

ページ: 1

日本PHPユーザ会 掲示板 » PHP 5 » replace

日本PHPユーザ会 掲示板 は UseBB 1 フォーラムソフトウェア を使用しています