只今、PHP勉強中です。


外部にhoge.csvに

バナナ,果物
トマト,野菜
スイカ,果物
キュウリ,野菜

と入れておきます。

phpで外部の文字sample.txtを取り込み

今日はバナナとキュウリを買いました。←sample.txtの中身

今日は果物と野菜を買いました。←置換後

と置換するphpを考えているのですが
なにか参考になるサイトなどありましたらアドバイスお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/04/16 01:19:58
  • 終了:2011/04/16 08:03:03

ベストアンサー

id:yoneto164 No.1

ヨネちゃん回答回数813ベストアンサー獲得回数942011/04/16 03:15:19

ポイント77pt

外部ファイルをそれぞれ読み込み置換処理をすれば良いので、

参考になるサイトは

http://www.kokin.rr-livelife.net/php/php_post/php_post_6.html

http://nyx.pu1.net/reference/control/foreach.html

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k05.htm

http://www.scollabo.com/banban/php/php_07.html

など、沢山あるかと思います。


私なら以下のように記述します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<title>読み込んで置換</title>
</head>
<body>
<?php
	$txt = @file_get_contents("sample.txt");//sample.txtを読み込む
	echo $txt."←もとのテキスト<br /><br />\n";
	$csv = @file("hoge.csv");//hoge.csvを配列に格納
	foreach( $csv as $value ){//CSVの行数分置換処理を実行
		$replace = split(",", "$value");//CSVの1行分を分割
		echo $replace[0].",";
		echo $replace[1]."←CSVの内容<br />\n";
		$txt = str_replace($replace[0], $replace[1], $txt);//置換処理
	}
	echo "<br />".$txt."←置換後のテキスト";
?>
</body>
</html>

実行例

http://yonetone.com/test/include/

id:admn

おはようございます。

丁寧な解説ありがとうございます。

頂いた回答をもとに色々やってみます。

2011/04/16 08:02:40

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません