ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

ゼロからはじめるPHP講座コミュの正規表現についての質問です

  • mixiチェック
  • このエントリーをはてなブックマークに追加
初めての書き込みとなります。
初歩的な事だとは思いますが、「ゼロからPHPをはじめましょう。」との事でしたので質問させてください。

趣味でphp4.3で開発をしていて、他のプログラミング言語は使った経験がなく、
あまり基本も分かっていないレベルだと思います。
最近になってphpの正規表現について勉強し始め、

 <p>
 ここに行ってきました↓<br />
 [[map:(1234.5678, 678.890.)]]
 </p>

などの文字列を、


 <p>
 ここに行ってきました↓<br />
 <script type="text/javascript">
 var setCenter(1234.5678, 678.890.);
 </script>
 </p>

と書き換えるプログラムを組もうとしています。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm
を読んでmb_ereg_replaceの使い方は少し分かり、
 [[map:(1234.5678, 678.890.)]]
という文字列を
 hoge
などに置き換えることは出来るようになりました。

ただ、[[map:(1234.5678, 678.890.)]]の中の特定の部分(数字の部分)を抜き出して
周囲の文字列([[map:)を書き換える方法が分からず困っています。
何か良い方法はありますでしょうか?

コメント(2)

preg_replaceを使えばいけますよ。

$str = '
<p>
ここに行ってきました↓<br />
[[map:(1234.5678, 678.890.)]]
</p>
';

echo preg_replace('/\[\[map:\(([^\)]+)\)\]\]/', "<script type=\"text/javascript\">var setCenter($1);</script>", $str);
>>rysterさん

回答有難うございます。
今試してみたところ、期待通りの結果を得ることができました。
ありがとうございました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

ゼロからはじめるPHP講座 更新情報

ゼロからはじめるPHP講座のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング