PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Text » Text_Wiki_Mediawiki » Bug #6623

Failure (?) to parse MediaWiki output

Details

Submitted2006-01-29 20:57 UTC
Fromjoho at pop3 dot nu
Assignedtoggg
StatusClosed
PackageText_Wiki_Mediawiki
PHP Version4.4.2
OSLinux
Roadmaps(Not assigned)

Comments

[2006-01-29 20:57 UTC] joho at pop3 dot nu

Description:
------------
This may not be a bug, it may simply be the way the package works or doesn't work at the moment; but since there's a Text_Wiki_Mediawiki-part, I figured I'd try it out immediately :-)

Text within [[]] does not seem to be parsed properly.

This is the text I use for testing:

'''Olof Palme''', son till [[Sven T. Palme]], [[historiker]], född [[21 september]] [[1884]] i [[Borgå]], [[Finland]], död [[3 april]] [[1918]], [[fil.lic.]] i [[Uppsala universitet|Uppsala]] [[1908]], ägnade sig åt mångsidiga och djupgående forskningar, vilka han endast delvis hann fullfölja, bland annat rörande [[Karl XI]]:s tid ("''Les anecdotes de Suède'' och dess författare", i [[festskrift]]en ''Historiska studier tillägnade [[Harald Hjärne|H. Hjärne]]'', 1908, m.fl. uppsatser) och staden [[Sigtuna]]s forntid. Sin släkts äldre öden skildrade han i det brett anlagda och även [[kulturhistoria|kulturhistoriskt]] rikt givande arbetet ''Släkten Palme intill år 1815'' (2 bd, 1917). Entusiastisk [[Patriot|fosterlandsvän]] med starka, av släktförbindelser närda finländska sympatier och alltid beredd att sätta in sin person för de idéer, som besjälade honom, ingick han under krisen i Finland 1918 som en av de förste i "svenska brigaden", i vars främsta led han stupade vid [[Slaget om Tammerfors|stormningen av Tammerfors]]. ===Extern länk=== *[http://www.palme.nu/start/ Släkten Palme] {{ugglan}} [[Kategori:Svenska historiker|Palme, Olof]]

Test script:
---------------
The script looks like this:

require 'Text/Wiki/Mediawiki.php';

$xs = <the long string above>

$t = new Text_Wiki_Mediawiki;

$t->parse ($xs);
$ws = $t->render ();
echo $ws;

Expected result:
----------------
I would expect all Wiki-style formatting to be removed/resolved/converted.

[2006-02-03 18:51 UTC] joho at pop3 dot nu

I have updated all the files that had changed, and it didn't change very much.

If I enable the "Wikilink" rule, the output looks like this:

<p><b>Olof Palme</b>, son till Uppsala<a href="http://example.com/new.php?page=Sven T. Palme]], [[historiker]], född [[21 september]] [[1884]] i [[Borgå]], [[Finland]], död [[3 april]] [[1918]], [[fil.lic.]] i [[Uppsala universitet">?</a> H. Hjärne<a href="http://example.com/new.php?page=1908]], ägnade sig åt mångsidiga och djupgående forskningar, vilka han endast delvis hann fullfölja, bland annat rörande [[Karl XI]]:s tid ("''Les anecdotes de Suède'' och dess författare", i [[festskrift]]en ''Historiska studier tillägnade [[Harald Hjärne">?</a><em>, 1908, m.fl. uppsatser) och staden kulturhistoriskt<a href="http://example.com/new.php?page=Sigtuna]]s forntid.ÿ3ÿÿ4ÿSin släkts äldre öden skildrade han i det brett anlagda och även [[kulturhistoria">?</a> rikt givande arbetet </em>Släkten Palme intill år 1815'' (2 bd, 1917). Entusiastisk fosterlandsvän<a href="http://example.com/new.php?page=Patriot">?</a> med starka, av släktförbindelser närda finländska sympatier och alltid beredd att sätta in sin person för de idéer, som besjälade honom, ingick han under krisen i Finland 1918 som en av de förste i "svenska brigaden", i vars främsta led han stupade vid stormningen av Tammerfors<a href="http://example.com/new.php?page=Slaget om Tammerfors">?</a>.</p> <h3 id="toc0">Extern länk</h3> <p>*<a href="http://www.palme.nu/start/" onclick="window.open(this.href, '_blank'); return false;">Släkten Palme</a></p> <p>{{ugglan}}</p> <p>Palme, Olof<a href="http://example.com/new.php?page=Kategori:Svenska historiker">?</a></p>

If I disable the "Wikilink" rule, the output looks like this:

<p><b>Olof Palme</b>, son till [[Sven T. Palme]], <a class="myClass" href="http://wikitest.foo/handler/historiker" onclick="window.open(this.href, '_foo'); return false;">historiker</a>, född <a class="myClass" href="http://wikitest.foo/handler/21 september" onclick="window.open(this.href, '_foo'); return false;">21 september</a> <a class="myClass" href="http://wikitest.foo/handler/1884" onclick="window.open(this.href, '_foo'); return false;">1884</a> i [[Borgå]], <a class="myClass" href="http://wikitest.foo/handler/Finland" onclick="window.open(this.href, '_foo'); return false;">Finland</a>, död <a class="myClass" href="http://wikitest.foo/handler/3 april" onclick="window.open(this.href, '_foo'); return false;">3 april</a> <a class="myClass" href="http://wikitest.foo/handler/1918" onclick="window.open(this.href, '_foo'); return false;">1918</a>, [[fil.lic.]] i <a class="myClass" href="http://wikitest.foo/handler/Uppsala universitet" onclick="window.open(this.href, '_foo'); return false;">Uppsala</a> <a class="myClass" href="http://wikitest.foo/handler/1908" onclick="window.open(this.href, '_foo'); return false;">1908</a>, ägnade sig åt mångsidiga och djupgående forskningar, vilka han endast delvis hann fullfölja, bland annat rörande <a class="myClass" href="http://wikitest.foo/handler/Karl XI" onclick="window.open(this.href, '_foo'); return false;">Karl XI</a>:s tid ("<em>Les anecdotes de Suède</em> och dess författare", i [[festskrift]]en <em>Historiska studier tillägnade [[Harald Hjärne|H. Hjärne]]</em>, 1908, m.fl. uppsatser) och staden [[Sigtuna]]s forntid.</p> <p>Sin släkts äldre öden skildrade han i det brett anlagda och även <a class="myClass" href="http://wikitest.foo/handler/kulturhistoria" onclick="window.open(this.href, '_foo'); return false;">kulturhistoriskt</a> rikt givande arbetet <em>Släkten Palme intill år 1815</em> (2 bd, 1917). Entusiastisk [[Patriot|fosterlandsvän]] med starka, av släktförbindelser närda finländska sympatier och alltid beredd att sätta in sin person för de idéer, som besjälade honom, ingick han under krisen i Finland 1918 som en av de förste i "svenska brigaden", i vars främsta led han stupade vid <a class="myClass" href="http://wikitest.foo/handler/Slaget om Tammerfors" onclick="window.open(this.href, '_foo'); return false;">stormningen av Tammerfors</a>.</p> <h3 id="toc0">Extern länk</h3> <p>*<a href="http://www.palme.nu/start/" onclick="window.open(this.href, '_blank'); return false;">Släkten Palme</a></p> <p>{{ugglan}}</p> <p>[[Kategori:Svenska historiker|Palme, Olof]]</p>

[2006-02-03 21:34 UTC] joho at pop3 dot nu

No difference that I can spot.

With Wikilink enabled:

<p><b>Olof Palme</b>, son till Sven T. Palme<a href="http://example.com/new.php?page=Sven+T.+Palme">?</a>, historiker<a href="http://example.com/new.php?page=historiker">?</a>, född 21 september<a href="http://example.com/new.php?page=21+september">?</a> 1884<a href="http://example.com/new.php?page=1884">?</a> i Borgå<a href="http://example.com/new.php?page=Borg%E5">?</a>, Finland<a href="http://example.com/new.php?page=Finland">?</a>, död 3 april<a href="http://example.com/new.php?page=3+april">?</a> 1918<a href="http://example.com/new.php?page=1918">?</a>, fil.lic.<a href="http://example.com/new.php?page=fil.lic.">?</a> i Uppsala<a href="http://example.com/new.php?page=Uppsala+universitet">?</a> 1908<a href="http://example.com/new.php?page=1908">?</a>, ägnade sig åt mångsidiga och djupgående forskningar, vilka han endast delvis hann fullfölja, bland annat rörande Karl XI<a href="http://example.com/new.php?page=Karl+XI">?</a>:s tid ("<em>Les anecdotes de Suède</em> och dess författare", i festskrift<a href="http://example.com/new.php?page=festskrift">?</a>en <em>Historiska studier tillägnade H. Hjärne<a href="http://example.com/new.php?page=Harald+Hj%E4rne">?</a></em>, 1908, m.fl. uppsatser) och staden Sigtuna<a href="http://example.com/new.php?page=Sigtuna">?</a>s forntid.</p> <p>Sin släkts äldre öden skildrade han i det brett anlagda och även kulturhistoriskt<a href="http://example.com/new.php?page=kulturhistoria">?</a> rikt givande arbetet <em>Släkten Palme intill år 1815</em> (2 bd, 1917). Entusiastisk fosterlandsvän<a href="http://example.com/new.php?page=Patriot">?</a> med starka, av släktförbindelser närda finländska sympatier och alltid beredd att sätta in sin person för de idéer, som besjälade honom, ingick han under krisen i Finland 1918 som en av de förste i "svenska brigaden", i vars främsta led han stupade vid stormningen av Tammerfors<a href="http://example.com/new.php?page=Slaget+om+Tammerfors">?</a>.</p> <h3 id="toc0">Extern länk</h3> <br /> *<a href="http://www.palme.nu/start/" onclick="window.open(this.href, '_blank'); return false;">Släkten Palme</a><p>{{ugglan}}</p> <p>Palme, Olof<a href="http://example.com/new.php?page=Kategori%3ASvenska+historiker">?</a></p>

With Wikilink disabled:

<p><b>Olof Palme</b>, son till [[Sven T. Palme]], <a class="myClass" href="http://interwiki.foo/handler/historiker" onclick="window.open(this.href, '_foo'); return false;">historiker</a>, född <a class="myClass" href="http://interwiki.foo/handler/21 september" onclick="window.open(this.href, '_foo'); return false;">21 september</a> <a class="myClass" href="http://interwiki.foo/handler/1884" onclick="window.open(this.href, '_foo'); return false;">1884</a> i [[Borgå]], <a class="myClass" href="http://interwiki.foo/handler/Finland" onclick="window.open(this.href, '_foo'); return false;">Finland</a>, död <a class="myClass" href="http://interwiki.foo/handler/3 april" onclick="window.open(this.href, '_foo'); return false;">3 april</a> <a class="myClass" href="http://interwiki.foo/handler/1918" onclick="window.open(this.href, '_foo'); return false;">1918</a>, [[fil.lic.]] i <a class="myClass" href="http://interwiki.foo/handler/Uppsala universitet" onclick="window.open(this.href, '_foo'); return false;">Uppsala</a> <a class="myClass" href="http://interwiki.foo/handler/1908" onclick="window.open(this.href, '_foo'); return false;">1908</a>, ägnade sig åt mångsidiga och djupgående forskningar, vilka han endast delvis hann fullfölja, bland annat rörande <a class="myClass" href="http://interwiki.foo/handler/Karl XI" onclick="window.open(this.href, '_foo'); return false;">Karl XI</a>:s tid ("<em>Les anecdotes de Suède</em> och dess författare", i [[festskrift]]en <em>Historiska studier tillägnade [[Harald Hjärne|H. Hjärne]]</em>, 1908, m.fl. uppsatser) och staden [[Sigtuna]]s forntid.</p> <p>Sin släkts äldre öden skildrade han i det brett anlagda och även <a class="myClass" href="http://interwiki.foo/handler/kulturhistoria" onclick="window.open(this.href, '_foo'); return false;">kulturhistoriskt</a> rikt givande arbetet <em>Släkten Palme intill år 1815</em> (2 bd, 1917). Entusiastisk [[Patriot|fosterlandsvän]] med starka, av släktförbindelser närda finländska sympatier och alltid beredd att sätta in sin person för de idéer, som besjälade honom, ingick han under krisen i Finland 1918 som en av de förste i "svenska brigaden", i vars främsta led han stupade vid <a class="myClass" href="http://interwiki.foo/handler/Slaget om Tammerfors" onclick="window.open(this.href, '_foo'); return false;">stormningen av Tammerfors</a>.</p> <h3 id="toc0">Extern länk</h3> <br /> *<a href="http://www.palme.nu/start/" onclick="window.open(this.href, '_blank'); return false;">Släkten Palme</a><p>{{ugglan}}</p> <p>[[Kategori:Svenska historiker|Palme, Olof]]</p>

[2006-02-07 14:02 UTC] m dot davies at powys dot gov dot uk

I'm a real n00b when it comes to this. However, after playing with the class, I found it very incomplete - it seems to parse wikimeta for tables correctly, but fails on just about everything else. What did occur to me, as I have a desparate need to parse wikimeta to xhtml, is why not use the class used in Mediawiki as this simply parses all wikimeta in its backend to render well formed xhtml. It just seems that you are reinventing the wheel? Am I missing something completely obvious here?

[2006-02-07 15:22 UTC] ritzmo at php dot net

As the version of the package is 0.0.1 and the status is alpha it's quite clear that it would not function properly but in my tests it worked very good. the aim of our package is to provide a framework to parse mediawiki-syntax and not to provide a whole wiki-class as mediawiki does.
we could not use the parser of mediawiki as it is not compatible with text_wiki and works in a very different way.
so - indeed - we are reinventing the wheel in one way but our wheel belongs to a much cooler car ;-)
but if you need a stable and fully functional mediawiki-parser you should stick with the official one until we reach a more stable version.

[2006-02-20 22:15 UTC] saiyr at gmx dot net

It's actually extremely different to use the MediaWiki Parser class, because it's interlocked with user preferences, etc. I spent a few hours trying to hack away at it and got nowhere. So while I agree that reflecting the entire class that MediaWiki uses for parsing (like 4,000 lines long?), I still think if you guys get this working well, it would be much more useful. I've been writing simple parsing to get results that I want, but nothing that would actually go into a real parser.

[2006-02-21 09:30 UTC] m dot davies at powys dot gov dot uk

Could this not be a case for working collaboratively with the WikiMedia bods? If they could amend their class so that its portable, i.e. stripping out all the user stuff et al, then it would be such a cool and neat way of being able to display XHTML pages from Wiki markup without having to constantly keep up to date with new and emerging Wiki meta tags.

[2006-03-13 23:40 UTC] joho at pop3 dot nu

I just gave it another shot, after upgrading Mediawiki, and the general Text_Wiki package, and everything else I could think of :-)

The output is getting close, but I'm expecting somewhat different output:

Inter-links are displayed as <text><a href="somelink">?</a> instead of <a href="somelink"><text></a>.

Here's an example (htmlentities output):

<p><strong>Olof Palme</strong>, son till Sven T. Palme<a class="" href="http://example.com/new.php?page=Sven_T._Palme">?</a>, historiker<a class="" href="http://example.com/new.php?page=historiker">?</a>, född 21 september<a class="" href="http://example.com/new.php?page=21_september">?</a> 1884<a class="" href="http://example.com/new.php?page=1884">?</a> i Borgå<a class="" href="http://example.com/new.php?page=Borg%E5">?</a>, Finland<a class="" href="http://example.com/new.php?page=Finland">?</a>, död 3 april<a class="" href="http://example.com/new.php?page=3_april">?</a> 1918<a class="" href="http://example.com/new.php?page=1918">?</a>, fil.lic.<a class="" href="http://example.com/new.php?page=fil.lic.">?</a> i Uppsala<a class="" href="http://example.com/new.php?page=Uppsala_universitet">?</a> 1908<a class="" href="http://example.com/new.php?page=1908">?</a>, ägnade sig åt mångsidiga och djupgående forskningar, vilka han endast delvis hann fullfölja, bland annat rörande Karl XI<a class="" href="http://example.com/new.php?page=Karl_XI">?</a>:s tid ("<em>Les anecdotes de Suède</em> och dess författare", i festskrift<a class="" href="http://example.com/new.php?page=festskrift">?</a>en <em>Historiska studier tillägnade H. Hjärne<a class="" href="http://example.com/new.php?page=Harald_Hj%E4rne">?</a></em>, 1908, m.fl. uppsatser) och staden Sigtuna<a class="" href="http://example.com/new.php?page=Sigtuna">?</a>s forntid.</p> <p>Sin släkts äldre öden skildrade han i det brett anlagda och även kulturhistoriskt<a class="" href="http://example.com/new.php?page=kulturhistoria">?</a> rikt givande arbetet <em>Släkten Palme intill år 1815</em> (2 bd, 1917). Entusiastisk fosterlandsvän<a class="" href="http://example.com/new.php?page=Patriot">?</a> med starka, av släktförbindelser närda finländska sympatier och alltid beredd att sätta in sin person för de idéer, som besjälade honom, ingick han under krisen i Finland 1918 som en av de förste i "svenska brigaden", i vars främsta led han stupade vid stormningen av Tammerfors<a class="" href="http://example.com/new.php?page=Slaget_om_Tammerfors">?</a>.</p> <h3 id="toc0">Extern länk</h3> <br /> *<a href="http://www.palme.nu/start/" onclick="window.open(this.href, '_blank'); return false;">Släkten Palme</a><p>{{ugglan}}</p> <p>Palme, Olof<a class="" href="http://example.com/new.php?page=Kategori%3ASvenska_historiker">?</a></p>