Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie danych z ciągu znaków.
Forum PHP.pl > Forum > PHP
cycofiasz
Witam, mam plik playlisty mp3 w XML
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <playlist version="1" xmlns="http://xspf.org/ns/0/">
  3.    <trackList>
  4.    
  5.        <track>
  6.            <title>magnus - live forever (soundfactory radio edit)</title>
  7.            <creator></creator>
  8.            <location>pliki/553fed445b543036828336dedca86d7b.mp3</location>
  9.        </track>
  10.    
  11.        <track>
  12.            <title>Relanium - Leel Lost</title>
  13.            <creator></creator>
  14.            <location>pliki/b8277c49cdaa44dc660af1fb165e874e.mp3</location>
  15.        </track>
  16.    
  17.        <track>
  18.            <title>02. Living On Video</title>
  19.            <creator></creator>
  20.            <location>pliki/1706e7e4a4bf06cf32a566bfa64d4b5a.mp3</location>
  21.        </track>
  22.  
  23.    </trackList>
  24. </playlist>


Chciałbym wyświetlić wszystkie utwory jako linki w takim formacie:

Utwór 1:
-tutaj zawartość title
-tutaj zawartość creator
-tutaj link do zawartości location

Utwór 2:
-tutaj zawartość title
-tutaj zawartość creator
-tutaj link do zawartości location


Pytanie tylko jak...
rav1989
Witam

preg_match_all -> http://php.net.pl/manual/pl/function.preg-match-all.php

Potem chyba sobie poradzisz smile.gif

Pozdrawiam
Rav
yankes
rav... preg ? to jak kałachem muchy tępić....

cycofiasz polecam:
http://pl.php.net/manual/en/simplexml.examples.php
kwiateusz
albo po ludzku http://pl.wikipedia.org/wiki/XSL_Transformations
cycofiasz
Wygląda na to że będę musiał poświęcić na zrozumienie tego troszkę czasu wstydnis.gif

A zapodał by ktoś gotowca? yahoo.gif
kwiateusz
Nie
rav1989
Ech.. wiem, że można bardziej profesjonalnie smile.gif ale jak na parę minut roboty to nieźle smile.gif

  1. <?
  2. $xml=file_get_contents('plik.xml');
  3. preg_match_all("|<title>(.*)</title>|U",$xml,$title,PREG_PATTERN_ORDER);
  4. preg_match_all("|<location>(.*)</location>|U",$xml,$location,PREG_PATTERN_ORDER);
  5. preg_match_all("|<creator>(.*)</creator>|U",$xml,$creator,PREG_PATTERN_ORDER);
  6.  
  7.  
  8. for($i=0;$i<count($title[1]);$i++){
  9. echo '<p><large><b>Utwór: '.($i+1).'</b></large><br><b>Nazwa:</b> '.$title[1][$i].'<br><b>Link:</b> '.$location[1][$i].'<br></p>';
  10.  
  11. /* można jeszcze dać $creator[1] */
  12.  
  13. }
  14.  
  15. ?>


Cytat(yankes)
rav... preg ? to jak kałachem muchy tępić....

cycofiasz polecam:
http://pl.php.net/manual/en/simplexml.examples.php

widocznie muszę się jeszcze trochę podszkolić smile.gif


Pozdrawiam
Rav
kwiateusz
to juz simplexmlem jest bardziej wydajnie jak nie chcesz sie zaglebiac w xslt
wrzasq
simplexml, albo zwykly DOM. uzywanie preg_match(_all) do XMLa to kompletna pomylka, XML posiada swoja strukture, preg_match dopasowuje tylko tekst. co sie stanie jak ktos wstawi sobie:

Kod
       <track>
            <title><![CDATA[Utwór o dziwnym tytule <title>Title</title>]]></title>
            <creator></creator>
            <location>pliki/b8277c49cdaa44dc660af1fb165e874e.mp3</location>
        </track>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.