Как получить урл из xml файла?

iCospi
На сайте с 27.09.2011
Offline
97
475

Добрый день, подскажите пожалуйста, как можно вытащить урл сайтов из xml документа, если он имеет вот такой вид:

<outline type="rss" text="Цифровая фотография и фотооборудование" htmlUrl="http://photofor.ru/"/>

<outline type="rss" text="Шаржи от KUNICZ" htmlUrl="http://www.krasivo-nari.su"/>
<outline type="rss" text="Элементы Архитектурной Композиции" htmlUrl="http://www.elarco.ru"/>

Требуется получить список сайтов, которые содержатся в htmlUrl=

Удобная проверка позиций (http://allpositions.ru/redirect/8497) | Быстрая покупка уник контента (http://advego.ru/62bgjaNHEc)
ДП
На сайте с 23.11.2009
Offline
203
#1

Вас решение на каком языке программирования интересует?

iCospi
На сайте с 27.09.2011
Offline
97
#2

Дикий пионер На php

LEOnidUKG
На сайте с 25.11.2006
Offline
1726
#3

$xml='ИНФА';

preg_match_all('htmlUrl="(.*?)"',$xml,$out);

print_r($out[1]);

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
SS
На сайте с 04.04.2009
Offline
43
s_s
#4
iCospi:
Добрый день, подскажите пожалуйста, как можно вытащить урл сайтов из xml документа, если он имеет вот такой вид:

<outline type="rss" text="Цифровая фотография и фотооборудование" htmlUrl="http://photofor.ru/"/>
<outline type="rss" text="Шаржи от KUNICZ" htmlUrl="http://www.krasivo-nari.su"/>
<outline type="rss" text="Элементы Архитектурной Композиции" htmlUrl="http://www.elarco.ru"/>


Требуется получить список сайтов, которые содержатся в htmlUrl=

на php это выглядит так:

<?

$xml = simplexml_load_string('<?xml version="1.0" encoding="utf-8" ?>
<root>
<outline type="rss" text="Цифровая фотография и фотооборудование" htmlUrl="http://photofor.ru/"/>
<outline type="rss" text="Шаржи от KUNICZ" htmlUrl="http://www.krasivo-nari.su"/>
<outline type="rss" text="Элементы Архитектурной Композиции" htmlUrl="http://www.elarco.ru"/>
</root>
');
var_dump($xml->xpath("/root/outline/@htmlUrl"));

/** на выходе получите
array(3) {
[0]=>
object(SimpleXMLElement)#2 (1) {
["@attributes"]=>
array(1) {
["htmlUrl"]=>
string(19) "http://photofor.ru/"
}
}
[1]=>
object(SimpleXMLElement)#3 (1) {
["@attributes"]=>
array(1) {
["htmlUrl"]=>
string(26) "http://www.krasivo-nari.su"
}
}
[2]=>
object(SimpleXMLElement)#4 (1) {
["@attributes"]=>
array(1) {
["htmlUrl"]=>
string(20) "http://www.elarco.ru"
}
}
}
*/

...что-то форум режет код...

iCospi
На сайте с 27.09.2011
Offline
97
#5

LEOnidUKG, выдаёт ошибку (Delimiter must not be alphanumeric or backslash), проблема в разделители вроде как. Ошибка на строку:

preg_match_all('htmlUrl="(.*?)"',$xml,$out);
LEOnidUKG
На сайте с 25.11.2006
Offline
1726
#6

preg_match_all('@htmlUrl="(.*?)"@smi',$xml,$out);

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий