本文整理汇总了PHP中Typecho_Common::_allowableAttributes方法的典型用法代码示例。如果您正苦于以下问题:PHP Typecho_Common::_allowableAttributes方法的具体用法?PHP Typecho_Common::_allowableAttributes怎么用?PHP Typecho_Common::_allowableAttributes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Typecho_Common
的用法示例。
在下文中一共展示了Typecho_Common::_allowableAttributes方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: stripTags
/**
* 去掉字符串中的html标签
* 使用方法:
* <code>
* $input = '<a href="http://test/test.php" title="example">hello</a>';
* $output = Typecho_Common::stripTags($input, <a href="">);
* echo $output;
* //display: '<a href="http://test/test.php">hello</a>'
* </code>
*
* @access public
* @param string $html 需要处理的字符串
* @param string $allowableTags 需要忽略的html标签
* @return string
*/
public static function stripTags($html, $allowableTags = NULL)
{
$normalizeTags = '';
$allowableAttributes = array();
if (!empty($allowableTags) && preg_match_all("/\\<([_a-z0-9-]+)([^>]*)\\>/is", $allowableTags, $tags)) {
$normalizeTags = '<' . implode('><', array_map('strtolower', $tags[1])) . '>';
$attributes = array_map('trim', $tags[2]);
foreach ($attributes as $key => $val) {
$allowableAttributes[strtolower($tags[1][$key])] = array_map('strtolower', array_keys(self::__parseAttrs($val)));
}
}
self::$_allowableAttributes = $allowableAttributes;
$html = strip_tags($html, $normalizeTags);
$html = preg_replace_callback("/<([_a-z0-9-]+)(\\s+[^>]+)?>/is", array('Typecho_Common', '__filterAttrs'), $html);
return $html;
}
示例2: stripTags
/**
* 去掉字符串中的html标签
* 使用方法:
* <code>
* $input = '<a href="http://test/test.php" title="example">hello</a>';
* $output = Typecho_Common::stripTags($input, <a href="">);
* echo $output;
* //display: '<a href="http://test/test.php">hello</a>'
* </code>
*
* @access public
* @param string $string 需要处理的字符串
* @param string $allowableTags 需要忽略的html标签
* @return string
*/
public static function stripTags($html, $allowableTags = NULL)
{
if (!empty($allowableTags) && preg_match_all("/\\<([a-z]+)([^>]*)\\>/is", $allowableTags, $tags)) {
self::$_allowableTags = '|' . implode('|', $tags[1]) . '|';
if (in_array('code', $tags[1])) {
$html = self::lockHTML($html);
}
$normalizeTags = '<' . implode('><', $tags[1]) . '>';
$html = strip_tags($html, $normalizeTags);
$attributes = array_map('trim', $tags[2]);
$allowableAttributes = array();
foreach ($attributes as $key => $val) {
$allowableAttributes[$tags[1][$key]] = array_keys(self::__parseAtttrs($val));
}
self::$_allowableAttributes = $allowableAttributes;
$len = strlen($html);
$tag = '';
$attrs = '';
$pos = -1;
$quote = '';
$start = 0;
for ($i = 0; $i < $len; $i++) {
if ('<' == $html[$i] && -1 == $pos) {
$start = $i;
$pos = 0;
} else {
if (0 == $pos && '/' == $html[$i] && empty($tag)) {
$pos = -1;
} else {
if (0 == $pos && ctype_alpha($html[$i])) {
$tag .= $html[$i];
} else {
if (0 == $pos && ctype_space($html[$i])) {
$pos = 1;
} else {
if (1 == $pos && (!empty($quote) || '>' != $html[$i])) {
if (empty($quote) && ('"' == $html[$i] || "'" == $html[$i])) {
$quote = $html[$i];
} else {
if (!empty($quote) && $quote == $html[$i]) {
$quote = '';
}
}
$attrs .= $html[$i];
} else {
if (-1 != $pos && empty($quote) && '>' == $html[$i]) {
$out = self::__tagFilter($tag, $attrs);
$outLen = strlen($out);
$nextStart = $start + $outLen;
$tag = '';
$attrs = '';
$html = substr_replace($html, $out, $start, $i - $start + 1);
$len = strlen($html);
$i = $nextStart - 1;
$pos = -1;
}
}
}
}
}
}
}
$html = preg_replace_callback("/<\\/([_0-9a-z-]+)>/is", array('Typecho_Common', '__closeTagFilter'), $html);
$html = self::releaseHTML($html);
} else {
$html = strip_tags($html);
}
//去掉注释
return preg_replace("/<\\!\\-\\-[^>]*\\-\\->/s", '', $html);
}