Autor | Zpráva | ||
---|---|---|---|
Lukassy Profil * |
#1 · Zasláno: 7. 10. 2009, 14:03:53
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 * |
#2 · Zasláno: 7. 10. 2009, 14:23:42
Ke spojení řetězců slouží v php operátor .
viz. http://cz2.php.net/manual/en/language.operators.string.php |
||
Lukassy Profil * |
#3 · Zasláno: 7. 10. 2009, 14:54:47
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 |
#4 · Zasláno: 7. 10. 2009, 15:41:34
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 * |
#5 · Zasláno: 7. 10. 2009, 15:55:53
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 * |
#6 · Zasláno: 7. 10. 2009, 15:57:13
A ten začátek je http://portal.gov.cz
|
||
Kcko Profil |
#7 · Zasláno: 7. 10. 2009, 16:14:49
rekl bych velmi snadno
str_replace("href=\"", "href=\"COSI", $foo); |
||
Lukassy Profil * |
#8 · Zasláno: 7. 10. 2009, 16:25:35
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 |
#9 · Zasláno: 7. 10. 2009, 22:35:19
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 * |
#10 · Zasláno: 7. 10. 2009, 22:55:34
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 |
#11 · Zasláno: 8. 10. 2009, 12:27:59
pouzij to na ten $bod. php.net/preg_Replace
|
||
Lukassy Profil * |
#12 · Zasláno: 8. 10. 2009, 13:06:53
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 * |
#13 · Zasláno: 8. 10. 2009, 13:13:28
Pokud neumíte základy regulárních výrazů, tak použijte raději dříve zmiňovanou funkci str_replace.
|
||
Časová prodleva: 15 let
|
0