如何在PHP上自动替换单词


How to replace words automaticly on PHP

我在mysql数据库上有一个表,像这样:

|word|replace|
--------------
|sa  | sap   |
|ri  | sip   |
|na  | sup   |
--------------

因此,如果我提交单词:sarina,它将自动更改为:sapsipsup

我试过了:

$word= array("sa", "ri", "na");
$replace = array("sap", "sip", "sup");
$str = str_split("sarina",2);
$result = str_replace($word, $replace, $str);
echo $result;

但是,它不是动态的,我的意思是…我应该先把"sarina"分成两个字符。如何使任何单词自动变得简单?

你基本上通过标记你的问题str-replace来回答自己。您所需要做的就是查询数据库中的所有条目,将它们放入两个数组中,并使用这两个数组在字符串上运行str_replace()。像这样:

$result = mysql_query('SELECT `word`, `replace` FROM `table`');
$find = array();
$replace = array();
while ($row = mysql_fetch_assoc($result)) {
   $find[] = $row['word'];
   $replace[] = $row['replace'];
}
$yourstring = str_replace($find, $replace, $yourstring);

注意:这里没有错误处理等…