Как парсить страницы своего же сайта?
Всем привет!
Возник вопрос как в сниппете имея id ресурса, послать запрос на эту страницу, распарсить и получить самое первое изображение в контенте и вернуть адрес на него?
Возник вопрос как в сниппете имея id ресурса, послать запрос на эту страницу, распарсить и получить самое первое изображение в контенте и вернуть адрес на него?
2
1 252
0
Комментарии: 5
03 октября 2017, 14:24
<?php
$id = 15;
$resource = $modx->getObject('modResource', $id);
$thisContent = $resource->content;
preg_match('/<img(.*)src(.*)=(.*)"(.*)"/U', $thisContent, $regexResult);
$firstImgScr = array_pop($regexResult);
return $firstImgScr;
03 октября 2017, 14:28
Илья, спасибо большое за ответ, а что за переменная — $regexResult?
03 октября 2017, 14:30
Кажется, понял, preg_match в неё записывает то, что нашёл, верно?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2 часа назад
modx 3.0.5 — при загрузке картинок удаляет точку перед расширением файла (получается вместо imagename.png — imagenamepng), соответственно картинка не ...
[Translitor] - Альтернатива транслитерации псевдонимов 21
2 часа назад
Отвечаю на свой же вопрос — можно вот так
<?php
switch ($modx->event->name) {
case 'OnHandleRequest':
// Загрузка общих ...
Лайфхак по config.inc 28
8 часов назад
можно наверно и другие типы полей прописать без getTVValue, но я tv почти не использую. Вдаваться в подробности их обработки не буду.
Получить все TV-поля ресурса в Fenom 9
Вчера в 10:53
Вот оно и переопределяет ПУСТЫМ значением mailManager. Поменял эти две строчки на одну, протестировал сейчас — работает как надо. $to = $this->modx...
easyComm 1.15.0 большой апдейт: ответы, улучшенные файлы и многое другогое! 5
25 июля 2024, 17:03
В настройках TV вкладка «Параметры ввода», тип ввода «Ace»
Использование ACE вместо tinyMCE 1
24 июля 2024, 18:37
Яндекс такси определяет нужный вход исходя из местоположения пользователя и если само приложение определит неверно, то никакое API исправить это не по...
[Яндекс такси] 1
24 июля 2024, 17:44
У меня Ubuntu и настроил все на NGINX — работает норм
[SendIt 2.0.0] Пагинация и обновлённая загрузка файлов 8
24 июля 2024, 11:05
[[!migxLoopCollection?
&classname=`MaterialSubcategories\Model\subcategories`
&where=`{"id":"[ ...
migxLoopCollection Joins 1
23 июля 2024, 20:31
Добавить поле в заказ и в плагине на событие msOnChangeOrderStatus записывать в это поле текущую дату, если статус равен id статуса «Оплачен».
Дата оплаты заказа minishop2 3