Text_Wiki
pear.php.net
Transforms Wiki and BBCode markup into XHTML, LaTeX or plain text markup. This is the base engine for all of the Text_Wiki sub-classes.
The text transformation is done in 2 steps. The chosen parser uses markup rules to tokenize the tags and content. Renderers output the tokens and text into the requested format. The tokenized form replaces the tags by a protected byte value associated to an index in an options table. This form shares up to 50 rules by all parsers and renderers. The package is intented for versatile transformers as well as converters. Text_Wiki is delivered with its own parser, which is used by Yawiki or Horde's Wicked and three basic renderers: XHTML , LaTeX and plain text. Strong sanitizing of XHTML is default. Parsers (* and Renderers) exist for BBCode, Cowiki (*), Dokuwiki (*), Mediawiki and Tikiwiki (*). It is highly configurable and can be easily extended.
Paul Jones
pmjones
pmjones@ciaweb.net yes
Justin Patrin
justinpatrin
papercrane@reversefold.com yes
Del Elson
delatbabel
del@babel.com.au yes
2010-10-25
19:29:26
1.2.1
1.2.0
stable
stable
LGPL
QA Release Bug #12490 wiki's do not display since php5-5.2.5 upgrade but are editable. justinpatrin Bug #12580 incorrect/incomplete license in package.xml justinpatrin Bug #12619 Tab character before # causes invalid Xhtml justinpatrin Bug #12665 External site documentation link invalid justinpatrin Doc Bug #14049 Missing documentation justinpatrin Bug #14869 skip tests when config is not available, not fail justinpatrin Bug #15758 URLs with # at the end not considered a url justinpatrin Bug #16222 External documentation is down justinpatrin
4.0.0
1.4.4
1.2.0
1.2.0RC2
beta
beta
2007-03-11
LGPL
New Features: # Added an Address Xhtml renderer # Balanced token checking has been added (this means that output such as <b><i>italic</b></i> is caught) # A new stack-based callback system for renderers has been added to allow for more flexible output handling (see BlockQuote) # The Url Xhtml renderer now allows a name to be passed in # The Url Xhtml, Plain, Latex renderers now allow start/end tokens

Changes: # Experimental preg rendering method deprecated as it had problems # Package.xml 2.0 is now used exclusively

Bugs fixed: # Bug #7320 fix UTF-8 rendering in WikiLink and Freelink # Various UTF-8 fixes # Bug #6292 remove paragraph tags from around headings and hrs in Xhtml renderer # Preformatted Xhtml renderer now correctly escapes output
1.2.0RC1
1.2.0RC1
beta
beta
LGPL
New Features: # Experimental new rendering method introduced that uses preg instead of char-by-char parsing ## Please test for both speed and memory usage

Changes: # Internal Text_Wiki error handling used in factory and singleton # Needed files are now required # bertrand Gugger has left development of Text_Wiki

Bugs fixed: # Raw output is now encoded in Xhtml renderer to avoid XSS attacks # Bug 8313 fix anchor output in Xhtml/Wikilink when used in conjuction with sprintf (thanks to bjs5075 at rit dot edu) # Fixed various encoding issues with Xhtml/Wikilink URLs # Bug #7091 fixed variable substitution in Latex renderer (thanks randlem at bgsu dot edu)
1.1.0
1.1.0
stable
stable
2006-03-02
LGPL
This is a major release as we reduce global resource usage # instantiate renderers only as needed # factory() method introduced for instantiating Text_Wiki objects # singleton() static method to get a single object instanciated pro parser (merci davidc for advices)

The constructor is now deprecated in favor of the new singleton() or factory() methods Default also have its own class now, wich means Text_Wiki is a pure abstract class

Renderers now have their own methods for: # text: textEncode() defaulted to php htmlspecialchars() for Xhtml render to the text encoding choosed in conf (#5953, thanks jocke at selincite dot com) # url: urlEncode() defaulted to the php rawurlencode()

Wiki general: # Correct the key used in changeRule(), ensure no double new rule. # Page names and anchors Urlencode() as render required (e.g. may contain spaces) # Interwiki: parser may now give the full url instead of site+page (Mediawiki need) # Improved test.

Latex render: # Only variables should be assigned by reference (#6010, thanks twells at smarterliving dot com)

Plain render: # Interwiki: Complete the rendering with indication of (url) or (site:page)

Xhtml render: # Rendering Fix for Tables (Missing Whitespace) (thanks ritzmo) # Added support for two-token URLs ## This allows formatting within URL text and proper rendering into other Wiki dialects (assuming that your parser supports the new feature. The Default parser does not yet support this.)

Maintainers: # Del , one of the funders of the original code fully as pear developer # JustinP is now lead
1.0.3
1.0.3
stable
stable
2005-11-08
LGPL
This is a bug fix release, the Bug #5863: mixed <ul> <ol> when using * and # fix introduced a potential BBC: Bug #5879 Nested lists to do not parse properly in Text_Wiki
1.0.2
1.0.2
stable
stable
2005-11-06
LGPL
This is a bug fix release, also with a few enhancements Default parser: * Bug #5660: The # is to be kept in the anchor option, (jeremy Lecour) * Bug #5863: Don't mix bullet and numbered lists when following each other, (stefan dot kilp at gmx dot net) * Bug #5397: variable used inside single quotes bugs WikiLinks (kristof dot coomans at sckcen dot be) Xhtml renderer: * Bug #5447: Preset $collapse to null (martin at mein-horde dot de) * Bug #5847: onclick in lowercase for Xhtml compliance (meisteg at msoe dot edu) * Unitiliazed row and column 's spans when coming from not mediawiki parser Xhtml and Latex renderers: * Render enumeration type a, A, i, or I in lists
1.0.1
1.0.1
stable
stable
2005-09-12
LGPL
This is a bug fix and security release, also preparing the introduction of new parsers/renderers * Fixed bug 3881 and 4442, UTF-8 encoding problems. There are new config options for Render_Xhtml, 'charset' and 'quotes', that allow you to specify the charset for translation. * Fixed bug 3959, "XHTML lists not rendered according W3C Standards" (where a line of text before a list leaves an open paragraph tag and closes it after the list) * In Parse_Xhtml_Toc, returns an extra newline before the parsed replacement text to comply with the matching regex. * In Render_Xhtml_Toc, added a 'collapse' config key to collapse the div horizontally within a table; this is for aesthetics, nothing else. The 'collapse' option is true by default. * Added general rules Smiley, Subscript ",,text,," and Underline "__text__" * Added rendering rules Box, Font, Page, Plugin, Preformatted, Specialchar and Titelbar for the optional extra parsers (BBCode, Cowiki, Doku, Mediawiki and Tiki) * Fixed bug 4175 "Wrong transform method" by generating PEAR_Error objects when a parse, format, or render rule cannot be found. * applied feature request 4436 "Add option to getTokens to get original token indices" -- now the return array from getTokens() is keyed to the original token index number. * Fixed Bug #4473 Undefined variables in error() * Fixed bug 4474 to silence calls to htmlentities and htmlspecialchars so that errors about charsets don't pop up, per counsel from Jan at Horde. * Fixed Code potential nesting * Fixed bug #4719, "In Latex, newline rule does not produce a new line" * Request #4520 Additional space confuses image tag, adapted regexp * Request #4634 Code block title/filename, uses conf css_filename * Code Xhtml: add php tags only if not there * Heading: collapsing in headers * Colortext Xhtml: don't add # if allready present * Anchor Xhtml htlmentify the link * Cleaned Xhtml renderers documentation headers * Added an example in doc * Rowspan and space before free format in Table renderer * Secured url linked on images