Autor Zpráva
Lukassy
Profil *
Jak z naparsovaneho xml dokumentu, ve kterem je odkaz ve tvaru /ostatni/kod=00676 udelam klasicky odkaz? Potreboval bych k nemu pridat zacatek http://www....., aby to pak spravne odkazovalo. Diky
Kajman_
Profil *
Ke spojení řetězců slouží v php operátor .

viz.
http://cz2.php.net/manual/en/language.operators.string.php
Lukassy
Profil *
To vím, ale jak ten odkaz v tom XMl dokumentu vyhledat a ve výpisu upravit? (něco jako tam kde se nachází odkaz, tak mu přidej začátek a zobraz)
Joker
Profil
Lukassy:
To vím, ale jak ten odkaz v tom XMl dokumentu vyhledat a ve výpisu upravit?
Jak my tady máme vědět, kde v XML máte uloženou nějakou adresu?
Lukassy
Profil *
Promiňte tady to je:

<?xml version="1.0" encoding="windows-1250"?>
<prvky>
  <prvek id="45">
    <bod id="08.">
      <![CDATA[ <P></P>Úřady, které: <UL> <LI><A class="" title="" href="/wps/portal/_s.155/696/_s.155/14504?kam=cinnost&kod=00994" target="">přijímají žádosti o vydání občanského průkazu</A>, <LI><A class="" title="" href="/wps/portal/_s.155/696/_s.155/14504?kam=cinnost&kod=00676" target="">vydávají občanský průkaz</A>,</LI></UL>naleznete v sekci Adresář. </div>]]> 
    </bod>
  </prvek>
</prvky>


K těmto odkazům bych potřeboval přidat začátek url.
Lukassy
Profil *
A ten začátek je http://portal.gov.cz
Kcko
Profil
rekl bych velmi snadno

str_replace("href=\"", "href=\"COSI", $foo);
Lukassy
Profil *
Ale jak to vyhledat, ten XML soubor je mnohem vetsi a jsou tam i odkazy ve spravne tvaru (http://....). Do databaze bych to neukladal, proste bych jen nacetl ten xml soubor a zobrazil. Ale jak najit tyto odkazy a prepsat je. Napadlo me, pokud odkaz zacina takto /wps tak mu pridej zacatek. Ale nevim jak to udelat.
Kcko
Profil
Jak jak vyhledat? Zpracovavas to nejakym XML parserem ne a ten to v sobe drzi, v nejakych promennych / objektech, tak to snad neni problem?

Jinak ted uz tedy preg_replace
Lukassy
Profil *
Ano, zpracovavam to takhle
$xml=simplexml_load_file('prvni.xml');
  foreach($xml->prvek->bod as $bod){
    echo $bod;
 }


ale timto mam cely obsah elementu bod v promenne $bod, odkazy samostatne nemam.
Kcko
Profil
pouzij to na ten $bod. php.net/preg_Replace
Lukassy
Profil *
Díky. Zkusil jsem tento příklad, ale objevil se warning preg_replace() [function.preg-replace]: Unknown modifier 'p' in

Zde je testovaný příklad. Tam kde se vyskytuje /wps/portal/ bych potřeboval náhradu http://portal.gov.cz/wps/portal/

$bod = "<a href='/wps/portal/_s.155/696/_s.155/14504?kam=cinnost&kod=00994' title='Úvod'>ÚVOD</a>";

$bod = preg_replace("/wps/portal/", "http://portal.gov.cz/wps/portal/", $bod);

echo $bod;
Kajman_
Profil *
Pokud neumíte základy regulárních výrazů, tak použijte raději dříve zmiňovanou funkci str_replace.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: