4 Wrz 2008

Odczyt danych z XML

$url = 'data.txt';

$xml = @file_get_contents($url);
$xml_obj = simplexml_load_string($xml);     

foreach($xml_obj->page as $page) {
    echo $page->title.': ';
    echo $page->url.'<br>';
}

Pprzykłądowy XML:

<?xml version="1.0" encoding="UTF-8"?>
<pages>
    <page>
    <id>1</id>
    <title><![CDATA[miejsce mapa Sopot]]></title>
    <url><![CDATA[ <a href="http://mapy.emiejsca.pl/sopot_sopot_sopot_pomorskie,mapa.html">http://mapy.emiejsca.pl/sopot_sopot_sopot_pomorskie,mapa.html</a> ]]></url>
    <thumb><![CDATA[ <a href="http://mapy.emiejsca.pl/sopot_sopot_sopot_pomorskie,miejsca.html">http://mapy.emiejsca.pl/sopot_sopot_sopot_pomorskie,miejsca.html</a> ]]></thumb>
    </page>
    <page>
    <id>2</id>
    <title><![CDATA[miejsce mapa Gdynia]]></title>
    <url><![CDATA[ <a href="http://mapy.emiejsca.pl/gdynia_gdynia_gdynia_pomorskie,mapa.html">http://mapy.emiejsca.pl/gdynia_gdynia_gdynia_pomorskie,mapa.html</a>]]></url>
    <thumb><![CDATA[ <a href="http://mapy.emiejsca.pl/gdansk_gdansk_gdansk_pomorskie,miejsca.html">http://mapy.emiejsca.pl/gdansk_gdansk_gdansk_pomorskie,miejsca.html</a>]]></thumb>
    </page>
</pages>
2 Kwi 2008

Wycięcie fragmentu tekstu zawartego miedzy tagami XML

Załadowanie XML:

$res = file_get_contents($url);

Wycięcie fragmentu tekstu:

$content_start  = strpos($res, '<content>') + strlen('<content>');
$head_end       = $content_start;
$content_end    = strpos($res, '</content>');
$foot_start     = strpos($res, '</content>');
$head    = substr($res, 0, $head_end);
$content = substr($res, $content_start, $content_end - $content_start);
$foot    = substr($res, $foot_start);
Konwersja nie zakodowanych znaków:
$content = str_replace("<",'<',$content);
$content = str_replace(">",'>',$content);
$res = $head . $content . $foot;