0

文字列内のランダムな単語を置き換える関数を作成したいと考えています。これが私が考えたものです。

  1. 文字列を指定すると、その文字列内のランダムなインデックス位置が与えられます。
  2. そのインデックスから、最も近い単語を必要な単語に置き換えます
  3. それに加えて、置き換えたばかりの単語をストレージ変数/データベース/ファイルに保存します

元。

ランダムな単語シード: tree, cat, wolf, apple

文字列: 速い茶色のキツネは、怠け者の犬を飛び越えます。

考えられる結果:

  1. リンゴ色のキツネが、怠け者の猫をジャンプします。
  2. 怠惰な犬の上に素早く茶色のオオカミの木。
  3. 怠惰なリンゴの上のクイックツリーキツネの木。
4

2 に答える 2

2

単純explodeにスペースの文字列を a を使用しrand()て置き換えます。お気に入り:

<?php
$string = "The quick brown fox jumps over the lazy dog.";
$aWords = explode($string, " ");
foreach ($aWords as $word)
{
    if(rand(1,2) == 1)
    {
        //replace the word
    }
}
// implode the string
?>
于 2012-05-04T11:32:35.927 に答える
1

最も明確なコードは、

  1. 文字列を配列の単語に分割する (例:explodeまたはpreg_splitより負荷の高いロジックの場合)
  2. 配列内のランダムに選択されたエントリを必要に応じて置き換えます
  3. 単語を結合して文字列に戻します (例: implode)
于 2012-05-04T11:31:43.483 に答える