我在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);
注意:这里没有错误处理等…