本文整理匯總了PHP中BBCode::unHTMLEncode方法的典型用法代碼示例。如果您正苦於以下問題:PHP BBCode::unHTMLEncode方法的具體用法?PHP BBCode::unHTMLEncode怎麽用?PHP BBCode::unHTMLEncode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類BBCode
的用法示例。
在下文中一共展示了BBCode::unHTMLEncode方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: doImage
/**
* Format an [img] tag. The URL only allows http, https, 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 image tag.
*/
public function doImage(BBCode $bbcode, $action, $name, $default, $params, $content)
{
// We can't validate this until we have its content.
if ($action == BBCode::BBCODE_CHECK) {
return true;
}
$content = trim($bbcode->unHTMLEncode(strip_tags($content)));
if (empty($content) && $default) {
$content = $default;
}
$urlParts = parse_url($content);
if (is_array($urlParts)) {
if (!empty($urlParts['path']) && empty($urlParts['scheme']) && !preg_match('`^\\.{0,2}/`', $urlParts['path']) && in_array(pathinfo($urlParts['path'], PATHINFO_EXTENSION), $this->imageExtensions)) {
$localImgURL = $bbcode->getLocalImgURL();
return "<img src=\"" . htmlspecialchars((empty($localImgURL) ? '' : $localImgURL . '/') . ltrim($urlParts['path'], '/')) . '" alt="' . htmlspecialchars(basename($content)) . '" class="bbcode_img" />';
} elseif ($bbcode->isValidURL($content, false)) {
// Remote URL, or at least we don't know where it is.
return '<img src="' . htmlspecialchars($content) . '" alt="' . htmlspecialchars(basename($content)) . '" class="bbcode_img" />';
}
}
return htmlspecialchars($params['_tag']) . htmlspecialchars($content) . htmlspecialchars($params['_endtag']);
}