0

これは私のアプローチであり、とにかく成功していませんが、私のコードとコーディングスキルの両方がどのようなものか、そして私が達成しようとしていることについてのアイデアを与えるかもしれません.


 $data1 = mysql_query("SELECT * from `todolist` WHERE date > '$today' ") 
 or die(mysql_error());

 $data1b = str_replace("text-to-be-replaced", "replaced-text", $data1);

while($info1 = mysql_fetch_array( $data1b )) 
 {
Print "".$info1['thingtobedone'] . " with ".$info1['persontomeet'] . "<br />";
 }

また、私がやりたいことは、一連の検索と置換のケースを設定することであるため、私のアプローチは正しくありません。1つの置換だけではなく、「Xを検索してYを置換」のリストのようなもの。もともと私は、「AをBに置き換え、配列の名前をSTEP2に変更する」、次にSTEP2という配列を取得し、「Cを検索してDに置き換え、配列の名前をSTEP3に変更する」などのことを考えていましたが...そうではないかもしれませんそうするための最良の方法であること=/

推奨事項、ポインタ、修正をいただければ幸いです。前もって感謝します!

4

1 に答える 1

1

PHP で関数を使用しstrtr()て、キー => 値のペアの置換ルールを渡すことができます。

$data = mysql_query('SELECT * FROM todolist WHERE date > CURDATE()') or die(mysql_error());

// Array of replacement rules. Keys of the array are strings to be replaced.
// Corresponding values of the keys are the replacement strings
$trans = array(
    'stringtoreplace1' => 'replacedstring1',
    'stringtoreplace2' => 'replacedstring2',
    'stringtoreplace3' => 'replacedstring3'
);

while($info = mysql_fetch_array($data)) 
{
    print strtr($info['thingtobedone'], $trans) . ' with ' . $info['persontomeet'] . '<br />';
}

thingtobedoneは、置換を行いたい列であると仮定します。

次に を呼び出すstrtr($info['thingtobedone'], $trans)と、関数は文字列を取得し、配列内のすべてのキー値のすべての出現箇所を$trans対応する値に置き換えます。これは、一度に多くの弦交換を行うための優れた方法です。

于 2012-07-23T04:22:52.527 に答える