本文整理匯總了PHP中ParserOptions::getAllowExternalImages方法的典型用法代碼示例。如果您正苦於以下問題:PHP ParserOptions::getAllowExternalImages方法的具體用法?PHP ParserOptions::getAllowExternalImages怎麽用?PHP ParserOptions::getAllowExternalImages使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類ParserOptions
的用法示例。
在下文中一共展示了ParserOptions::getAllowExternalImages方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: maybeMakeExternalImage
/**
* make an image if it's allowed, either through the global
* option, through the exception, or through the on-wiki whitelist
* @private
*
* $param $url string
*
* @return string
*/
function maybeMakeExternalImage($url)
{
$imagesfrom = $this->mOptions->getAllowExternalImagesFrom();
$imagesexception = !empty($imagesfrom);
$text = false;
# $imagesfrom could be either a single string or an array of strings, parse out the latter
if ($imagesexception && is_array($imagesfrom)) {
$imagematch = false;
foreach ($imagesfrom as $match) {
if (strpos($url, $match) === 0) {
$imagematch = true;
break;
}
}
} elseif ($imagesexception) {
$imagematch = strpos($url, $imagesfrom) === 0;
} else {
$imagematch = false;
}
if ($this->mOptions->getAllowExternalImages() || $imagesexception && $imagematch) {
if (preg_match(self::EXT_IMAGE_REGEX, $url)) {
# Image found
$text = Linker::makeExternalImage($url);
}
}
if (!$text && $this->mOptions->getEnableImageWhitelist() && preg_match(self::EXT_IMAGE_REGEX, $url)) {
$whitelist = explode("\n", wfMessage('external_image_whitelist')->inContentLanguage()->text());
foreach ($whitelist as $entry) {
# Sanitize the regex fragment, make it case-insensitive, ignore blank entries/comments
if (strpos($entry, '#') === 0 || $entry === '') {
continue;
}
if (preg_match('/' . str_replace('/', '\\/', $entry) . '/i', $url)) {
# Image matches a whitelist entry
$text = Linker::makeExternalImage($url);
break;
}
}
}
return $text;
}