Markup::parseLinkTarget PHP Method

parseLinkTarget() public static method

public static parseLinkTarget ( $ref )
    public static function parseLinkTarget($ref)
    {
        $ref = strtr($ref, "\n", ' ');
        $parts = explode(':', $ref, 2);
        $valid = -1;
        if (count($parts) == 1) {
            $page = new WikiPage(explode('/', $ref));
            $valid = $page->isValid();
            $url = $page->getURL();
        } else {
            if ($parts[0] == 'wp') {
                $url = 'http://en.wikipedia.org/wiki/' . strtr(implode('/', array_map('urlencode', explode('/', $parts[1]))), '+', '_');
                $ref = $parts[1] . ' (Wikipedia)';
            } else {
                $url = $ref;
            }
        }
        return array($url, $ref, $valid);
    }

Usage Example

Ejemplo n.º 1
0
 protected function mklink($ref, $label = NULL)
 {
     list($url, $label2, $valid) = Markup::parseLinkTarget($ref);
     if ($label === NULL) {
         $label = $label2;
     }
     return $this->fmt_labeled_link($url, $label, !$valid);
 }