- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте гуру PHP.
Прошу помощи у знающих людей.
Есть текст
есть файлик синонимов
как на PHP реализовать замену синонимами , но заменить так чтоб измененное слово менялось только один раз.Просто перепробовал несколько вариантов но что то не выходит
Буду очень благодарен за подсказки и советы.
пробовал разные варианты но что то не вышло ничего.
Перебирайте текст последовательно по одному слову и заменяйте на случайный синоним
На вашем примере получаем:
Эта книга призвана расказать на два извечных вопроса: <Какими методами достигается великолепная запись?> и <Как создаеться качественный микс?>. И может большинство из присутствующих могут сказать, какое качество микса их устроило бы, чаще всего они не знают, как этого достичь, когда они уже находятся в студии.
Что-то у вас огромный код получается. Это делается практически в одну строку.
Функция preg_replace имеет параметр, ограничивающий количество операций.
Например, вот как я реализовал генерацию ссылок по ключевым словам.
$content = preg_replace("/\b(".$row[text].")\b/i","<a href=\"".$row."\">\\1</a>",$content,$count);Копайте в эту сторону.
Что-то у вас огромный код получается. Это делается практически в одну строку.
Признаю, не люблю я регексы ввиду незнания этой алхимии :(
Что-то у вас огромный код получается. Это делается практически в одну строку.
Функция preg_replace имеет параметр, ограничивающий количество операций.
Например, вот как я реализовал генерацию ссылок по ключевым словам.
$content = preg_replace("/\b(".$row[text].")\b/i","<a href=\"".$row."\">\\1</a>",$content,$count);Копайте в эту сторону.
генерация ссылок очень проста я делал ее для сапы, а вот ключевые слова посложнее.
дел минута делается всего лишь циклом и не нужно регскапов достаточно файла ключевых слов и все. Хотя кому как удобнее.
Есть варианты с вот пример самый простой способ который я делал для забивки базы данных ключевыми словами.
а если у вас ссылки из сапы например для каждой страницы то тогда делается 2 файла.самое главное хорошая база синонимов,а лучше словоформ :)
самое главное хорошая база синонимов,а лучше словоформ :)
морфология рулит :)
а вобще для своего расстановщика ссылок по тексту я просто проходил стеммером по массиву с ключевыми словами и по тексту. Потом искал совпадения и разворачивал обратно.
На вашем примере получаем:
Спасибо за вариант. Но тут к сожеленью он не сработает если база будет мегабайты.
вот еще пример
Возможно лучше будет что то типа
Это не рабочий вариант Я его нашел в сети. Но суть в том что лусше использовать базу sql
Потому как текстовый файл открыть будет проблематично если его вес метров 50.
seosniks добавил 06.03.2009 в 18:11
Добрый вечер. Снова обращаюсь к знающим хорошо PHP
Значиться перегнал я все синонимы в базу данных.
База получилась 6 мб.
в базе 103731 синонимов
по этому чтоб получить базу нужно как то сделать запрос чтобы скрипт не перебирал всю подряд базу. А искал только то что начинаеться по конкретному слову.
например
если синонимайзер нашел слово
ЯСНОЕ то подставил синоним ВРАЗУМИТЕЛЬНОЕ
Но вот как сделать счтоб мускул мог нормально работать и не выдавал ошибку с нехваткой
памяти.
Я так понимаю что надо искать не по ID а по имени ключевого искомого слова
тоесть ищем в базе ключевое слово которое находится в тексте,который обрабатываем синонимами. И так у нас в переменной
$row["source_word"] нужное слово
меняем его на $row["destination_word"]
в итоге получим то что надо.
Вот только незнаю как искать по тексту.
Подскажите пожалуйста как найти и получить само слово.
сам принцип работы крипта наверное таким должен быть.
1 разбить текст на массив и проверять каждое совпадение, найдя совпадение заменить его на синоним. или может кто может недорого помочь.