| 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: 14 let
|
|||
0