- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте !
Такая задача, нужно вытянуть немного элементов, и структурировать их.
Есть xml файл с содержимым:
<title>Название</title>
<link href="полная ссылка"/>
<id>идентификатор</id>
<updated>дата</updated>
<author>
<name>Контактное лицо Имя Фамилия</name>
</author>
<content type="html">
<![CDATA[ <p><strong>
Цена
15 000
руб.
</strong></p>
<p>
<img src="ссылка на картинку" alt="" style="width: auto; height: auto; max-height: 480px"/>
</p>
<p>Описание</p>
<p>Адрес </p>
<p>
телефон
<br />
<strong>Имя</strong>
(частное лицо)
</p>
]]>
</content>
</entry>
Пытаюсь выгрузить данные через Импорт новостей (DLE). Там все содержимое вытягивается и подставляется в доп. поля:
Собственно сам код скрипта:
https://pastebin.com/t0eubKik
Все конечно хорошо и работает, но по аналогии с другими полями (которые работают), мне нужно заполнять инфу выделенную красным (телефон) и отдавать в доп. поле телефон.
Пробую так:
if ($matches != NULL) {
$xml->content[$i]['telefon'] = $matches[1];
}
но ничего не работает...
Помогите пожалуйста ! (Не обязательно бесплатно). Нужно вытянуть этот телефон в поле telefon (по аналогии с price, author, address)
Заранее спасибо.
Так, телефон то как начинается, просто на +?
И что там их много?
preg_match_all('@\+7(.*?)<@smi', $content, $matches);
Так, телефон то как начинается, просто на +?
И что там их много?
preg_match_all('@\+7(.*?)<@smi', $content, $matches);
Прежде всего, большое спасибо за ответ !
Телефон 1, начинается +7.
А как запихнуть вот в это: $xml->content[$i]['telefon'] = $matches[1]; ?
Если телефон 1, тогда
вместо:
preg_match_all
пишем:
preg_match
и оно запихнётся тогда
Если телефон 1, тогда
вместо:
preg_match_all
пишем:
preg_match
и оно запихнётся тогда
большое спасибо за ответы ! Но в том то и дело, что результат мне нужно запихнуть в поле content[$i]['telefon']
---------- Добавлено 02.11.2018 в 21:23 ----------
Пробую вот так:
if ($matches != NULL) {
$xml->content[$i]['telefon'] = $matches[1];
}
Но результат выходит: Array
P.s. телефоны вида +7 999 879-35-68
вы перед:
$xml->content[$i]['telefon'] = $matches[1];
напишите:
echo $matches[1]; exit;
посмотрите есть ли там данные.
вы перед:
$xml->content[$i]['telefon'] = $matches[1];
напишите:
echo $matches[1]; exit;
посмотрите есть ли там данные.
Пишет Array
Пробую так:
if ($matches != NULL) {
$xml->content[$i]['telefon'] = $matches[1];
}
Выводит данные из строки выше (этой):
if ($matches != NULL) {
$xml->content[$i]['address'] = $matches[1];
}
я вроде писал:
preg_match_all заменить на preg_match
LEOnidUKG, сделал первым делом это, ничего не поменялось, более того, почему-то в другие строки вписывает значение адреса... бред какой-то
с preg_match выводит данные с этой строки:
if ($matches != NULL) {
$xml->content[$i]['address'] = $matches[1];
}
и другие строки тоже почему-то затрагиваются и тоже в разнобой начинают эту инфу отдавать
Ну так надо переменную $matches обнулять перед каждым условием
$matches=array();
---------- Добавлено 02.11.2018 в 21:02 ----------
И зачем вы пробуете так:
Если я уже вам дал готовый вариант?
эх......
вот такая вот у меня схема теперь:
$matches=array();
preg_match('@\+7(.*?)<br', $content, $matches);
echo $matches[1]; exit;
Только выводит пустоту... уже как только не пробовал...