-1

ユーザーが入力したテキストを表示するテキストがあります。私が目指しているのは簡単な翻訳ですか?

たとえば、犬という単語のすべての用法を猫に入れ替えることはできますか?

やるべき言葉がたくさんあるので、これを行うためにphp、html、または別の言語、おそらくストリームライター/リーダーを使用するより速い方法はありますか?

これは、ユーザーが入力した内容を表示するボックスです。

<div align="center">
<form method="GET" action="translate.php">
<textarea name="status2" cols="50" rows="5"<input type="text"/>
<?php echo $status ?>
</textarea><br>
<input type="submit" value="post to wall" />
</form>

</div>

どんな助けやアイデアも大歓迎です。

無関係なメモ: 過去に投稿したいくつかの質問は、品質基準を満たしていなかったため、最初は投稿できませんでした。品質基準はどこで確認できますか?

4

2 に答える 2

1

PHP はこれを簡単に処理できます。

<?php echo str_replace('dog','cat',$status); ?>

最初の単語は検索する項目、2 番目の単語は置換対象、3 番目の項目は検索対象です。

編集

リクエストに応じて、大文字と小文字を区別せずに多くのアイテムで使用できるようにする方法の例。まず、PHP 関数を作成します。

function replaceWords($existing,$new,$content){
    str_ireplace($existing,$new,$content);
}

次に、検索するすべての単語と置換するすべての単語の配列を (同じ順序で) 作成します。

$existing_array = array('dog','elephant','bird');
$new_array = array('cat','eagle','your mom');
// dog replaced with cat, elephant replaced with eagle, bird replaced with your mom

次に、forループを使用して関数を呼び出します。

for($i = 0; $i < 150; $i++){
    function replaceWords($existing_array[$i],$new_array[$i],$status);
}

あなたがその数について言ったので、私は150にしましたが、正確な単語数はそこにあるはずです. それはそれを行う必要があります。

詳細については、こちらをご覧ください

2回目の編集

さらに自動化されたforループ:

$cnt = count($existing_array); // you can use either array, since they're the same length
for($i = 0; $i < $cnt; $i++){
    function replaceWords($existing_array[$i],$new_array[$i],$status);
}

このように、配列にアイテムを追加するだけで、新しい単語数がforループの新しい長さになります。手動コードが少ないほど良い。

于 2013-05-01T14:18:00.493 に答える