文字の反復と置き換え - PHPプロ!Q&A掲示板
キーワード / キーワードが設定されていません
以下に三つの顔文字があります。
(^v^)
(*^_^*)
(>_<)
これをそれぞれ
<input type="text" value="">
に当てはめて、
最終的には、
<input type="text" value="(^v^)">
<input type="text" value="(*^_^*)">
<input type="text" value="(>_<)">
と表示させたいです。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<title>テスト</title>
</head>
<body>
<form action="./test.php" method="post">
顔文字<br />
<textarea name="t1" cols="20" rows="5">(^v^)
(*^_^*)
(>_<)</textarea><br />
共通部分指定<br />
<textarea name="t2" cols="20" rows="5">
<input type="text" value="ここ" />
</textarea><br />
<input type="submit" value="決定" />
</form>
<?php
$kao=$_POST['kao'];
$t1=$_POST['t1'];
$t2=htmlspecialchars($_POST['t2']);
$array=explode("\n","$t1");
if(($t1)and($t2)){
$count=0;
foreach($array as $item){
$t2=str_replace("ここ","$item[$count]","$t2");
echo"$t2";
$count++;
}
}
?>
</body>
</html>
顔文字をtextarea1に書きます。
この時、改行して書きます。
そして共通となる<input type="text" value="" />をtextarea2に書きます。
この挿入するvalueの部分に『ここ』と書いておきます。
これでforeachの時に、『ここ』という文字をそれぞれの顔文字に置き換えたいのですが、どうもうまくいきません。
<input type="text" value="(^v^)">
<input type="text" value="(*^_^*)">
<input type="text" value="(>_<)">
のように表示させるには、どうしたらよいでしょうか??
宜しくお願い致します。
この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。




ページのトップへ


今回のような実践的な経験がエンジニアのキャリアに繋がると思います。是非サービスを成功させて下さい!