Как заменить слова автоматически на PHP - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть таблица в базе данных 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;

Но это не динамично, я имею в виду ... сначала я должен разделить "зарина" на 2 символа. Как сделать все просто автоматически для любых слов?

Заранее спасибо.

1 Ответ

5 голосов
/ 21 ноября 2011

Вы в основном ответили себе, отметив свой вопрос 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);

Примечание: здесь нет обработки ошибок и т. Д. ... не используйте этот код как есть, только для вдохновения.

...