本文整理匯總了PHP中BBCode::getURLTemplate方法的典型用法代碼示例。如果您正苦於以下問題:PHP BBCode::getURLTemplate方法的具體用法?PHP BBCode::getURLTemplate怎麽用?PHP BBCode::getURLTemplate使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類BBCode
的用法示例。
在下文中一共展示了BBCode::getURLTemplate方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: doURL
/**
* Format a [url] tag by producing an <a>...</a> element.
*
* The URL only allows http, https, mailto, and ftp protocols for safety.
*
* @param BBCode $bbcode The {@link BBCode} object doing the parsing.
* @param int $action The current action being performed on the tag.
* @param string $name The name of the tag.
* @param string $default The default value passed to the tag in the form: `[tag=default]`.
* @param array $params All of the parameters passed to the tag.
* @param string $content The content of the tag. Only available when {@link $action} is **BBCODE_OUTPUT**.
* @return string Returns the full HTML url.
*/
public function doURL(BBCode $bbcode, $action, $name, $default, $params, $content)
{
// We can't check this with BBCODE_CHECK because we may have no URL
// before the content has been processed.
if ($action == BBCode::BBCODE_CHECK) {
return true;
}
$url = is_string($default) ? $default : $bbcode->unHTMLEncode(strip_tags($content));
if ($bbcode->isValidURL($url)) {
if ($bbcode->debug) {
Debugger::debug('ISVALIDURL');
}
if ($bbcode->getURLTargetable() !== false && isset($params['target'])) {
$target = ' target="' . htmlspecialchars($params['target']) . '"';
} else {
$target = '';
}
if ($bbcode->getURLTarget() !== false && empty($target)) {
$target = ' target="' . htmlspecialchars($bbcode->getURLTarget()) . '"';
}
// If $detect_urls is on, it's possble the $content is already
// enclosed in an <a href> tag. Remove that if that is the case.
$content = preg_replace('/^\\<a [^\\>]*\\>(.*?)<\\/a>$/', "\\1", $content);
return $bbcode->fillTemplate($bbcode->getURLTemplate(), array("url" => $url, "target" => $target, "content" => $content));
} else {
return htmlspecialchars($params['_tag']) . $content . htmlspecialchars($params['_endtag']);
}
}