коду три строки, но никак не вкурю где я неправ.
итак. имеем.
достаём из БД словечки:
Код: Выделить всё
// исходные пустые массивы
$words = array();
$synonyms = array();
// строим запрос
$sql = "SELECT * FROM `news_synonyms` WHERE `active`='1'";
// делаем запрос к БД
$spisok = main_sql_query("$sql");
while($row_id = mysql_fetch_assoc($spisok)){ // перебор слов
// загоняем слово
array_push($words, " " . $row_id['source_word'] . " ");
// заоняем синоним
array_push($synonyms, " " . $row_id['destination_word'] . " ");
} // закрытие перебора слов
Код: Выделить всё
if($GLOBALS['news_synonymization'] == 1){ // надо
$news_text = str_replace ($words, $synonyms, $news_text);
} // закрытие синонимизации
Код: Выделить всё
-- phpMyAdmin SQL Dump
-- version 2.11.9.2
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Сен 24 2008 г., 19:48
-- Версия сервера: 5.0.67
-- Версия PHP: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- База данных: `doorways_auto`
--
-- --------------------------------------------------------
--
-- Структура таблицы `news_synonyms`
--
CREATE TABLE IF NOT EXISTS `news_synonyms` (
`id` int(6) NOT NULL auto_increment,
`source_word` varchar(127) NOT NULL,
`destination_word` varchar(127) NOT NULL,
`active` int(1) NOT NULL default '1',
PRIMARY KEY (`id`),
UNIQUE KEY `source_word` (`source_word`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COMMENT='синонимы уникализации новостей' AUTO_INCREMENT=14 ;
--
-- Дамп данных таблицы `news_synonyms`
--
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(1, 'зарядке', 'подзарядке', 1);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(2, 'продемонстрируют', 'покажут', 1);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(3, 'сперва', 'вначале', 1);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(4, 'премьера', 'презентация', 1);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(5, 'презентация', 'премьера', 0);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(6, 'будущего года', 'следующего года', 1);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(7, 'тыс.', 'тысяч', 1);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(8, 'стоимостью', 'ценой', 1);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(9, 'исследуем', 'изучаем', 1);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(10, 'изучаем', 'исследуем', 0);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(11, 'конкурирует', 'соперничает', 1);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(12, 'топлива', 'горючего', 1);
INSERT INTO `news_synonyms` (`id`, `source_word`, `destination_word`, `active`) VALUES(13, 'рулевых колёс', 'рулей', 1);
т.е. имеем в тексте слово премьера - на выходе получим его же

я так понимаю происходит следующщее
Код: Выделить всё
премьера --> презентация --> премьера