Source for file interwiki.php
Documentation is available at interwiki.php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2003 The PHP Group |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.0 of the PHP license, |
// | that is bundled with this package in the file LICENSE, and is |
// | available through the world-wide-web at |
// | http://www.php.net/license/2_02.txt. |
// | If you did not receive a copy of the PHP license and are unable to |
// | obtain it through the world-wide-web, please send a note to |
// | license@php.net so we can mail you a copy immediately. |
// +----------------------------------------------------------------------+
// | Authors: Paul M. Jones <pmjones@ciaweb.net> |
// +----------------------------------------------------------------------+
// $Id: interwiki.php,v 1.10 2004/03/25 14:53:59 pmjones Exp $
* This class implements a Text_Wiki_Rule to find source text marked as
* an Interwiki link. See the regex for a detailed explanation of the
* text matching procedure; e.g., "InterWikiName:PageName".
* @author Paul M. Jones <pmjones@ciaweb.net>
var $regex = '([A-Za-z0-9_]+):([\/=&~#A-Za-z0-9_]+)';
* Parser. We override the standard parser so we can
* find both described interwiki links and standalone links.
// described interwiki links
$tmp_regex = '/\[' . $this->regex . ' (.+?)\]/';
array (&$this, 'processDescr'),
// standalone interwiki links
$tmp_regex = '/' . $this->regex . '/';
array (&$this, 'process'),
* Generates a replacement for the matched standalone interwiki text.
* 'site' => The key name for the Text_Wiki interwiki array map,
* usually the name of the interwiki site.
* 'page' => The page on the target interwiki to link to.
* 'text' => The text to display as the link.
* @param array &$matches The array of matches from parse().
* @return A delimited token to be used as a placeholder in
* the source text, plus any text priot to the match.
// if not in the interwiki map, don't make it an interwiki link
if (isset ($this->_conf['sites'][$options['site']])) {
* Generates a replacement for described interwiki links. Token
* 'site' => The key name for the Text_Wiki interwiki array map,
* usually the name of the interwiki site.
* 'page' => The page on the target interwiki to link to.
* 'text' => The text to display as the link.
* @param array &$matches The array of matches from parse().
* @return A delimited token to be used as a placeholder in
* the source text, plus any text priot to the match.
// if not in the interwiki map, don't make it an interwiki link
if (isset ($this->_conf['sites'][$options['site']])) {
* Renders a token into text matching the requested format.
* @param array $options The "options" portion of the token (second
* @return string The text rendered from the token options.
$site = $options['site'];
$page = $options['page'];
$text = $options['text'];
if (isset ($this->_conf['sites'][$site])) {
$href = $this->_conf['sites'][$site];
return " <a href=\"$href$page\">$text</a>";
Documentation generated on Mon, 11 Mar 2019 10:14:14 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.
|