当前位置: 首页>>代码示例>>PHP>>正文


PHP XenForo_BbCode_Parser::parse方法代码示例

本文整理汇总了PHP中XenForo_BbCode_Parser::parse方法的典型用法代码示例。如果您正苦于以下问题:PHP XenForo_BbCode_Parser::parse方法的具体用法?PHP XenForo_BbCode_Parser::parse怎么用?PHP XenForo_BbCode_Parser::parse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在XenForo_BbCode_Parser的用法示例。


在下文中一共展示了XenForo_BbCode_Parser::parse方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: __toString

    /**
     * Renders the text.
     *
     * @return string
     */
    public function __toString()
    {
        try {
            if (XenForo_Application::getOptions()->cacheBbCodeTree && !empty($this->_cache['contentType']) && !empty($this->_cache['contentId'])) {
                $tree = null;
                if (!empty($this->_cache['cache']) && !empty($this->_cache['cacheVersion']) && $this->_cache['cacheVersion'] == XenForo_Application::getOptions()->bbCodeCacheVersion) {
                    if (is_array($this->_cache['cache'])) {
                        $tree = $this->_cache['cache'];
                    } else {
                        $tree = @unserialize($this->_cache['cache']);
                    }
                }
                if (!$tree) {
                    try {
                        // need to update
                        $tree = $this->_parser->parse($this->_text);
                        $this->_cache['cache'] = $tree;
                        $this->_cache['cacheVersion'] = XenForo_Application::getOptions()->bbCodeCacheVersion;
                        $uniqueId = $this->_cache['contentType'] . '-' . $this->_cache['contentId'];
                        if (empty(self::$_cacheWritten[$uniqueId])) {
                            XenForo_Application::getDb()->query('
								INSERT INTO xf_bb_code_parse_cache
									(content_type, content_id, parse_tree, cache_version, cache_date)
								VALUES (?, ?, ?, ?, ?)
								ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
									cache_version = VALUES(cache_version),
									cache_date = VALUES(cache_date)
							', array($this->_cache['contentType'], $this->_cache['contentId'], serialize($tree), $this->_cache['cacheVersion'], XenForo_Application::$time));
                            self::$_cacheWritten[$uniqueId] = true;
                        }
                    } catch (Exception $e) {
                        return $this->_parser->render($this->_text, $this->_extraStates);
                    }
                }
                return $this->_parser->render($tree, $this->_extraStates);
            } else {
                return $this->_parser->render($this->_text, $this->_extraStates);
            }
        } catch (Exception $e) {
            XenForo_Error::logException($e, false, "BB code to string error:");
            return '';
        }
    }
开发者ID:namgiangle90,项目名称:tokyobaito,代码行数:48,代码来源:TextWrapper.php

示例2: renderGalleryComment

 public static function renderGalleryComment(XenForo_BbCode_Parser $parser, &$message)
 {
     if (XenForo_Application::getOptions()->sonnbXG_extraBbcode) {
         self::$_tags = array_merge(self::$_tags, array('img', 'media'));
     }
     $message = preg_replace(array('/(\\[url\\]\\[url\\])/i', '/(\\[\\/url\\]\\[\\/url\\])/i'), array('[url]', '[/url]'), $message);
     $message = XenForo_Helper_String::censorString($message);
     $message = self::linkTaggedPlainText($message);
     $tags = $parser->parse($message);
     if (!empty($tags)) {
         $tags = self::_processTags($tags);
     }
     $extraStates = array('stopLineBreakConversion' => 1);
     $message = new XenForo_BbCode_TextWrapper($tags, $parser, $extraStates);
     return $message;
 }
开发者ID:Sywooch,项目名称:forums,代码行数:16,代码来源:Helper.php


注:本文中的XenForo_BbCode_Parser::parse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。