• Проблема такая. Сайт наполняется через RSS, но в новостях есть ссылки полсе основного текста.
    К примеру:
    Основной текст
    по материалам http://zenzor.ru/
    Какой нужно сделать запрос в SQL что бы удалить сразу все ссылки во всех новостях ??

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Есле я правелно понел то:
    Некокой.
    SQL етим незанемаеца.
    Ну прекинте в базе всё забеваеца в определеное поле скорей всего оно помечено как longtext а далше SQL ето расценивает как сплошной поток символоф так что ето не по теме SQL.

    Берёте и пишете неболшой php код который с помощю регулярных выращений (Regular expression) филтрует код и удаляет все ссылки.

    И токо потом с помою SQL можете пройтис по базе и скриптом все удалит.
    Вроде бы все.

    Я потому и прошу помощь зала что не могу написать сам, уже пробовал.

    Есле честно то вопрос выходит за рамки етого форума так как реч идет исключително о php,(Regular expression), mysql. И как результат может обробадевать любые базы в том чесле WP.
    Небуду умнечать, но вы уверены что нету уже готофых примероф в сети?

    Ладно так уж и быть.)) Серавно быстрей наиду.
    Етот код есть в любом php мануале =) Конвертор HTML в текст.
    Есле надо искючително токо линки можете несложно перепесать. Надеюс сможете? или…

    // $document на выходе должен содержать HTML-документ.
    // Необходимо удалить все HTML-теги, секции javascript,
    // пробельные символы. Также необходимо заменить некоторые
    // HTML-сущности на их эквивалент.
    $search = array ("'<script[^>]*?>.*?</script>'si",  // Вырезает javaScript
                     "'<[\/\!]*?[^<>]*?>'si",           // Вырезает HTML-теги
                     "'([\r\n])[\s]+'",                 // Вырезает пробельные символы
                     "'&(quot|#34);'i",                 // Заменяет HTML-сущности
                     "'&(amp|#38);'i",
                     "'&(lt|#60);'i",
                     "'&(gt|#62);'i",
                     "'&(nbsp|#160);'i",
                     "'&(iexcl|#161);'i",
                     "'&(cent|#162);'i",
                     "'&(pound|#163);'i",
                     "'&(copy|#169);'i",
                     "'&#(\d+);'e");                    // интерпретировать как php-код
    
    $replace = array ("",
                      "",
                      "\\1",
                      "\"",
                      "&",
                      "<",
                      ">",
                      " ",
                      chr(161),
                      chr(162),
                      chr(163),
                      chr(169),
                      "chr(\\1)");
    
    $text = preg_replace($search, $replace, $document);

    P.S ето намек есле несможете — токо очень некрасивый но рабочй вроде — замените есле што 2 строку $search на ети две.

    "'<a[\/\!]*?[^<>]*?>'si",
     "'</a[\/\!]*?[^<>]*?>'si",

    и сорру за мой рисский )))

    Я немного не понял.
    Этот скрипт сможет удалить сразу все ссылки со всех новостей в базе??
    Я раньше работал с DLE и nuke, WP пока не освоил досконально.
    Как я понял, этот файл нужно закинуть в корень сайта и запустить в браузере??

    Конечно нет =)
    Слух ну мыж не команда расработчикоф которые седят тут от нечево делать и ждут когда им поткинут очередную задачку. ))

    Я расчитеваю что вы собразителный парень, и давая очен хорошею подсказку, мне думаеца что вы с ней расбетесь. =)

    В идеале все делаеца так:
    Берете етот код немого его меняете так как я скозал в P.S или меняете еще покруче. Затем делаете SQL запрос в базу вытагеваете все посты или что там ван надо и проходетес по каждому ( там цыкал надо на php напесать) етим скриптом и клатедет их чистенкими обратно.
    Все ето делаеца в одельном php фаиле, WP для етого нендо токо его база.
    Вот и все.
    Потом ето все можно подключить к вашему RSS парсеру(или как там его) чтоб делал все сразу.

    А типер главный вопрос вы хоть чуть чуть програмировать умеете?
    Вроде говарили чтото делать пыталис?

    Вот именно, что чуть чуть и умею

    класс типерь вы знаете што делать но незнаете как делать…
    Полная жжжжжызненая сетуацея.
    Отас просто…

    И что тут странного ?
    Для того и пришел на форум за помощью.

    Ну да помощ в етом случее понятие растежымойе.
    Я думаю вы её получили — как счетаете?
    И типерь прямой вопрос(често непрекалываюс и непытаюс обидеть и уж тем боле унизеть) вы что хотите чтоб ето ктото зделал за вас?

    Да не совсем. Но ладно, я пойду на другой форум. Спасибо за «помощь».

    Удачи!
    Страно то, что вы откозалис научится ето делать самостпятеьно гогда вам в етом могут помочь. Таким образом вы не только решыли бы проблему но и преобрели инструмент для решения следущих…

    Быбор за вами 😉

Просмотр 11 ответов — с 1 по 11 (всего 11)
  • Тема «Как удалить ссылки в новостях через Myadmin» закрыта для новых ответов.