|
||||
|
Mi servirebbe un parser per trasformare i testi di una Wiki e stamparli a video. Ho provato con questa classe ma non è perfetta (non trasforma tutto ma solo alcune cose principali). Ho provato a sfruttare il parser di MediaWiki ma non riesco a capire bene come funziona (non riesco a stampare nulla a video). Qualcuno ha qualche idea a proposito?
__________________
Mattia vi manda a FunCool - Matriz - Directory Gogol - Segnala il tuo Feed! - Sfondo rosso per la Birmania «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen |
|
|||
|
__________________
|
|
||||
|
Io vedo solo una guida a MediaWiki, mi sono perso qualcosa?
__________________
Mattia vi manda a FunCool - Matriz - Directory Gogol - Segnala il tuo Feed! - Sfondo rosso per la Birmania «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen |
|
||||
|
Non sta chiedendo come funziona il wiki, ma come usare le classi.
La documentazione del codice è questa: http://www.mediawiki.org/wiki/Manual:Parser.php Sembra chiara, cosa ti serve di preciso?
__________________
"L'intelligenza è una pianta che va curata continuamente. Dovreste vedere com'è bello, il mio bonsai." Rat-man® [Gradient Text] [Su che server sei?] ->BinaryCity |
|
||||
|
Grazie del link.
Io ho questo codice: Codice PHP:
P.S.: Per la cronaca: CastiCrew continua a rispondere a caso per farmi credere che mi sta aiutando perché vuole un aiuto in una discussione dove non so come aiutarlo.
__________________
Mattia vi manda a FunCool - Matriz - Directory Gogol - Segnala il tuo Feed! - Sfondo rosso per la Birmania «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen |
|
||||
|
Il problema è cosa restituisce la funzione parse...
Sono andato a vedere in http://svn.wikimedia.org/doc/classParser.html (seguendo un link nella pagina segnalata) e dice che Parser::parse restituisce un oggetto di tipo ParserOutput, e bisognerà usare un metodo su quell'oggetto per avere il testo. La documentazione non è chiara, ma credo basti "echo $oggetto->parse(...)->getText();".
__________________
- idee per la serata - myspace - facebook - frame - flash - feed - anche su Google Earth!
|
|
||||
|
Ho provato così ma non mi dà ancora nulla in output:
Codice PHP:
__________________
Mattia vi manda a FunCool - Matriz - Directory Gogol - Segnala il tuo Feed! - Sfondo rosso per la Birmania «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen |
|
|||
|
Citazione:
Ciao... |
|
||||
|
Perché ci deve essere un form?
Oltre a quello che ho scritto c'è prima solo l'assegnazione alla variabile $testodaparsare che funziona e che consiste nella lettura dal database di un valore.
__________________
Mattia vi manda a FunCool - Matriz - Directory Gogol - Segnala il tuo Feed! - Sfondo rosso per la Birmania «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen |
|
||||
|
Prova a passare come testo <nowiki>prova</nowiki> ti restituisce qualcosa?
PS Titolo non è una stringa ma una classe, forse va in errore la classe, magari hanno una gestione errori interna e quindi non visualizzi errori.
__________________
"L'intelligenza è una pianta che va curata continuamente. Dovreste vedere com'è bello, il mio bonsai." Rat-man® [Gradient Text] [Su che server sei?] ->BinaryCity |
|
||||
|
Ho provato a mettere come testo "<nowiki>prova</nowiki>" e come titolo "$oggetto->getTitle()", ma non cambia nulla.
__________________
Mattia vi manda a FunCool - Matriz - Directory Gogol - Segnala il tuo Feed! - Sfondo rosso per la Birmania «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen |
|
|||
|
Citazione:
Ciao... |
|
||||
|
Potresti scrivere solo quando sai di cosa parli e dopo aver contato fino a 10?
__________________
Mattia vi manda a FunCool - Matriz - Directory Gogol - Segnala il tuo Feed! - Sfondo rosso per la Birmania «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen |
|
||||
|
Ti converrebbe cercare un'altra parte del codice dove viene creato e utilizzata la classe parser.
Cmq Dopo aver creato la classe parser molto probabilmente la devi inizializzare con il metodo firstCallInit Magari è solo quello il problema.
__________________
"L'intelligenza è una pianta che va curata continuamente. Dovreste vedere com'è bello, il mio bonsai." Rat-man® [Gradient Text] [Su che server sei?] ->BinaryCity |
|
||||
|
Citazione:
Citazione:
Codice:
* There are four main entry points into the Parser class: * parse() * produces HTML output * preSaveTransform(). * produces altered wiki markup. * transformMsg() * performs brace substitution on MediaWiki messages * preprocess() * removes HTML comments and expands templates Non mi stampa nulla a video (ho provato anche con $oggetto).
__________________
Mattia vi manda a FunCool - Matriz - Directory Gogol - Segnala il tuo Feed! - Sfondo rosso per la Birmania «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen |
|
|||
|
Citazione:
Altro appunto, quando chiami parse() ho visto che passi "titolo", ma la funzione richiede un oggetto "title" passato per riferimento mavericck |
|
||||
|
Citazione:
Codice PHP:
Citazione:
__________________
Mattia vi manda a FunCool - Matriz - Directory Gogol - Segnala il tuo Feed! - Sfondo rosso per la Birmania «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen |
|
||||
|
Non cambia nulla.
__________________
Mattia vi manda a FunCool - Matriz - Directory Gogol - Segnala il tuo Feed! - Sfondo rosso per la Birmania «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen |
|
||||
|
Hai sicuramente Gli errori disabilitati.
Ho fatto una prova e mi sono fermato qua: Codice:
<?php
define('MEDIAWIKI', true);
include("includes/GlobalFunctions.php");
include("includes/ProfilerStub.php");
include("includes/MagicWord.php");
include("includes/ParserOutput.php");
include("includes/Parser.php");
$oggetto=new Parser();
$oggetto->firstCallInit();
$nuovo=$oggetto->parse("Prova", "Titolo", $oggetto->mOptions);
echo $nuovo->getText();
?>
__________________
"L'intelligenza è una pianta che va curata continuamente. Dovreste vedere com'è bello, il mio bonsai." Rat-man® [Gradient Text] [Su che server sei?] ->BinaryCity |
|
||||
|
Con questa prova ti funziona? Ricorda che il titolo non è una stringa ma un oggetto.
__________________
Mattia vi manda a FunCool - Matriz - Directory Gogol - Segnala il tuo Feed! - Sfondo rosso per la Birmania «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen |
|
||||
|
Non funziona, ma ero stufo di cercare dipendenze.
Mi da un bel "Call to a member function getMagic() on a non-object" nella classe MagicWord. Va sicuramente inizializzato qualcosa. Poi fanno spesso uso di classe dichiarate Globali, probabilmente sono passati da poco alla programmazione ad oggetti.
__________________
"L'intelligenza è una pianta che va curata continuamente. Dovreste vedere com'è bello, il mio bonsai." Rat-man® [Gradient Text] [Su che server sei?] ->BinaryCity |
|
|||
|
La cosa divertente è che in tutto il pacchetto mediawiki non esiste mai un esplicita istanziazione di Parser, tranne che in due file di test (maintenance/parserTests.inc linea 290, maintenance/renderDump.php linea 62).
Un'istanza di Parser trovata per caso è $wgParser (resa globale come accennato da binarysun), che però viene creata con Codice PHP:
Magari prova a crearla anche tu in quel modo, o dai un'occhiata ai due file di test citati sopra, per l'utilizzo diretto della classe. mavericck |
![]() |
| Strumenti discussione | |
| Modalità visualizzazione | |
|
|
|
|