PHP парсинг ссылок

143
16 августа 2019, 12:10

Есть у меня sitemap страница в которой находят все нужные пути для всех страниц.

Пример:

<url>
    <loc>https://test.pro</loc>
    <priority>1.0</priority>
    <lastmod>2018-01-01T00:00:00+00:00</lastmod>
    <changefreq>daily</changefreq>
</url>
<url>
    <loc>https://test.pro/test</loc>
    <priority>1.0</priority>
    <lastmod>2018-01-01T00:00:00+00:00</lastmod>
    <changefreq>daily</changefreq>
</url>
......

И никак не могу додуматься как можно спарсить все urls в один массив...

P.s. Вся страница находится в переменной (весь этот xml код, в контроллере... НЕ МАССИВ, НЕ ОБЪЕКТ) поэтому не обязательно использовать curl.

Вкратце: Есть контроллер который генерирует мне sitemap (все url для индексации)... Потребовались мне все эти пути и чтобы не изобретать велосипед я внедрил (инъекция) sitemap контроллер... Поэтому есть переменная со всем XML кодом

Answer 1
$xml='
<xml>
    <url>
        <loc>https://test.pro</loc>
        <priority>1.0</priority>
        <lastmod>2018-01-01T00:00:00+00:00</lastmod>
        <changefreq>daily</changefreq>
    </url>
    <url>
        <loc>https://test.pro/test</loc>
        <priority>1.0</priority>
        <lastmod>2018-01-01T00:00:00+00:00</lastmod>
        <changefreq>daily</changefreq>
    </url>
</xml>
';
$xml=simplexml_load_string($xml);
foreach($xml->url as $v){
    $url[]=(string)$v->loc;
}
echo '<pre>'; print_r($url);
Answer 2

говорите все в одной переменной, то есть примерно такого типа:

$oldArray = Array(Array('https://test.pro', '1.0', '2018-01-01T00:00:00+00:00', 'daily'), Array... и тд)

Почему бы не сделать тогда что нибудь типа:

$urls = array();
foreach($oldArray as $key => $data) {
    $urls[] = $data[0];
}
READ ALSO
Передача значений методом POST (checkbox)

Передача значений методом POST (checkbox)

Есть скрипт для ввода и сохранения закладокЗакладки выводятся в таблице с тремя полями: адрес, категория закладки и checkbox (какие закладки...

140
Конкатенация PHP + HTML [дубликат]

Конкатенация PHP + HTML [дубликат]

На данный вопрос уже ответили:

119
дубликаты уведомлений push

дубликаты уведомлений push

Согласно данной статье https://habrcom/ru/post/321924/ реализуются оповещения

115