変数参照
test1.phpは文字列をハイパーテキストリンクに変換するスクリプトです。
これはうまく動いています。
<?php
//test1.php
// start set message
$msg = "testtesttesttest http://www.example.com testtesttesttest";
// end set message
// start set generate URL link
$patterns = '(https?:\/\/[-_.!~*\'()a-zA-Z0-9;/?:@&=+$,%#]+)';
$replacements = '<a href="\\1">\\1</a>';
$msg = ereg_replace($patterns, $replacements, $msg);
// end set generate URL link
// start set message
echo $msg;
// end set message
?>
test2.phpは文字列をハイパーテキストリンクに変換して最後尾に付加するスクリプトです。
これは動きません。
$replacementsにセットされたはずの変数がうまく参照できないのです。
<?php
//test2.php
// start set message
$msg = "testtesttesttest http://www.example.com testtesttesttest";
// end set message
// start set generate URL link
$patterns = '(https?:\/\/[-_.!~*\'()a-zA-Z0-9;/?:@&=+$,%#]+)';
$replacements = '<a href="\\1">\\1</a>';
$msg = ereg_replace($patterns, "", $msg);
// end set generate URL link
// start set message
echo $msg . $replacements;
// end set message
?>
質問
1 test1.phpが動いてtest2.phpが動かない理由はなんでしょうか?
2 test2.phpの目的を達するためにはどう書けばよいでしょうか?