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 />";
 }

另外,我的方法是不正确的,因为我想做的是设置一堆搜索和替换案例。类似于“搜索 X 并替换 Y”的列表,而不仅仅是一个替换。最初我想做一些类似“将A替换为B并将数组重命名为STEP2”的操作,然后获取名为STEP2的数组并“搜索C并将其替换为D,并将数组重命名为STEP3”但是......我认为这可能不会成为这样做的最佳方式 =/

任何建议,指针,更正将不胜感激!提前致谢!

4

1 回答 1

1

您可以使用strtr()PHP 中的函数来传递替换规则的 key => value 对:

$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 回答