PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 3
rostik.vorobev Отправлено: 23 Мая, 2016 - 18:35:11 • Тема: Как получить чистый пост с сайта на wordpress • Форум: CMS и фреймворки

Ответов: 3
Просмотров: 1322
Проблема решена. Нашел способ из wp вытащить текст без html и изображений.


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require_once('wp-load.php');
  3. $my_postid = 2289;//This is page id or post id
  4. $content_post = get_post($my_postid);
  5. $content = $content_post->post_content;
  6. echo wp_filter_nohtml_kses($content);
  7. ?>

(Добавление)
andrewkard пишет:
Скорее всего что придется что то вырезать, а потом можно так:


а почему просто не вставить со всеми html тегами что там есть? Предварительно заменив пути к картинкам.


Вариант с strip_tags тоже хорош, а то я уже было начал писать свою функцию по поиску тегов и вычленению их.
rostik.vorobev Отправлено: 20 Мая, 2016 - 18:04:41 • Тема: Как получить чистый пост с сайта на wordpress • Форум: CMS и фреймворки

Ответов: 3
Просмотров: 1322
andrewkard пишет:
Скорее всего что придется что то вырезать, а потом можно так:


а почему просто не вставить со всеми html тегами что там есть? Предварительно заменив пути к картинкам.


Если я запощу в канал все как есть, то в канал придет просто текстом всё. Телеграм просто запостит весь html код как текст, например так будет: <p class="main">qweqwe</p><img src="123.jpg">.....<ul>.....</ul>.
rostik.vorobev Отправлено: 19 Мая, 2016 - 23:33:59 • Тема: Как получить чистый пост с сайта на wordpress • Форум: CMS и фреймворки

Ответов: 3
Просмотров: 1322
Проблема вот в чем. Есть у меня сайт, есть у меня канал в телеграме, есть бот который раньше просто брал последний пост с сайта, получал его короткое описание, ссылку и название, постил это все дело в телеграм в канал.

Сейчас потребовалось сделать что бы он не просто анонсы кидал в канал а полные посты, и тут то и начались проблемы.
Дело в том что wordpress хранит посты html кодом, там всякие img, p, li, ul, strong, ... etc куча всего, там может быть кнопка или еще что. API методов получить чистый текст поста без картинок и прочего нет.

Я нахожусь в затруднении, с одной стороны я могу представить как использовать explode или регулярки для типичного поста, находить всякие теги, потом дробить пост на кусочки, вычленять ненужные куски, соединять. Но все не предусмотришь, иногда на сайт видео постится, иногда реклама прямо в странице. И потом скорость будет медленной. И опять же после того как я порежу пост на куски и соединю, нет никакой гарантии что где-то не потеряется перенос строки или пробелы, с маркированным списком вообще атас, в результате пост в телеграме будет не красивым.

Вопрос такой, был ли у кого опыт в подобном парсинге по сути? Как вы решили это?
Если то что я описал выше единственный вариант, то как мне лучше сделать все это что бы было лучше.
(Добавление)
https://forum[dot]antichat[dot]ru/threads/220733/ вот нагуглил как раз тот вариант что я предполагаю, но нужен ваш совет.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB