• ベストアンサー

括弧内のキーワードを抽出・変換したい

PHP4.3です。 go[b]lin という文字列があったとして、括弧[]内で囲まれたキーワードを別の文字に変換する方法を教えてください。括弧[]が文字列内に含まれていない場合は変換の必要はありません。 例 goblin → goblin go[b]lin →変換([b]をaに変換)→ goalin free[ga]me →変換([ga]をhoに変換)→ freehome

質問者が選んだベストアンサー

  • ベストアンサー
  • Suzi
  • ベストアンサー率38% (130/334)
回答No.3

以下のではどうでしょうか。 $word = 'home'; # 変換したい単語 $str = 'go[b]lin'; $i = array(); $j = ''; if(preg_match('/go(\[.+?\]).+/', $str, $i) > '0') $j = str_replace("$i[1]", "$word", $str); else $j = $str; print $j;

tomatocot
質問者

お礼

ありがとうございました。 無事いけました。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

たんにstr_replace()でよいのでは?

回答No.1

正規表現を使いましょう。 ereg、preg_match等があります。 http://jp2.php.net/preg_match

関連するQ&A