Autor | Zpráva | ||
---|---|---|---|
Milkys Profil |
Dobrý večer vážení,
chtěl bych udělat "pomůcku", která bude umět přečíst texty článků z wikipedie, které mám v xml souboru. Nerad bych tahal dříví do lesa a tak budu rád i za link pokud někdo o podobné "pomůcce" ví. Snad to dobře vysvětlím. Ukázka: Nějaký text [[Parkán|parkánová zeď]] a pokračuje text. Potřebuji, aby se to vypsalo takto: Nějaký text parkánová zeď a pokračuje text. Může mi prosím někdo z Vás pomoci? Zkoušel jsem napsat funkci, ale... těch podmínek v sintaxi je tolik, že ve finále strtr na to nestačila. function xmlwikisyntax($retezec) { $prevod=array( '**' => '',//...**tučné** '//' => '',//...takto je //kurziva// '__' => '',//...__podtržené__ "''" => '',//...''neproporcionální'' '===' => '',//...h4 '====' => '',//...h3 "==" => '',//...h5 "----" => '',//...4 a více pomlček je vodorovná čára '\\' => '',//...zalomení řádku bez nového odstavce, platné jen pokud předtím není [[, protože to může být i takto: [[\\server\disk|tento]] a to je odkaz. '[[' => '',//začátek odkazu <a href = ".... pak je | vyjadřující "> . V případě použití odkazů -> asi regulár. ']]' => '',//konec odkazu </a> ); return strtr($retezec,$prevod); } Např tag <h3> je v html párovým tagem, takže nešlo použít '====' => '<h3>', no a podobně je to i u ostatních "wiki_tagů". Napadá mě regulární výraz. Něco jako: jestli se v textu vyskytuje ==== nahraď <h3> a další vyskytující se ==== nahraď </h3>. nebo jestli se v textu vyskytuje | mezi [[ a ]] vymaž to co je mezi [[ a | a vymaž ]]. Když ho někdo prosím napíše a okomentuje budu velice rád. Stačí jen na mnou uvedenou ukázku. Těch úprav tam mám více, ale chci na to přijít sám a reguláry se už konečně naučit - alespoň základy. Bude mi stačit vyřešit toto, abych se měl od čeho odpíchnout. Až to budu mít rád to sem dám i pro ostatní. Vřelé díky. |
||
Milkys Profil |
Domnívám se, že jsem našel to co potřebuji. Takže pro ostatní, kteří se trápí nebo se budou trápit podobným problémem:
Wiki parsery |
||
Časová prodleva: 12 let
|
0