private static function ProcessContent($p_content) { $content = trim($p_content); if (empty($content)) { return $p_content; } // process internal links $linkPattern = '<!\\*\\*[\\s]*Link[\\s]+Internal[\\s]+(([\\d\\w]+[=][\\d\\w]+&?)*)([\\s]+TARGET[\\s]+([^>\\s]*))*[\\s]*>'; $content = preg_replace_callback("|{$linkPattern}|i", array('MetaSubtitle', 'ProcessInternalLink'), $p_content); $endLinkPattern = '<!\\*\\*[\\s]*EndLink[\\s]*>'; $content = preg_replace("|{$endLinkPattern}|i", '</a>', $content); // image tag format: <!** Image 1 align="left" alt="FSF" sub="FSF" attr="value"> $imagePattern = '<!\\*\\*[\\s]*Image[\\s]+([\\d]+)(([\\s]+(align|alt|sub|width|height|ratio|\\w+)\\s*=\\s*("[^"]*"|[^\\s]*))*)[\\s]*>'; $content = preg_replace_callback("/{$imagePattern}/i", array('MetaSubtitle', 'ProcessImageLink'), $content); // snippet tag format: <-- Snippet 1 --> $snippetPattern = '<\\-\\-\\sSnippet\\s([\\d]+)\\s\\-\\->'; $content = preg_replace_callback("/{$snippetPattern}/i", array('MetaSubtitle', 'ProcessSnippet'), $content); return $content; }
/** * Constructor * * @param string $p_number * @param string $p_count * @param string $p_name * @param string $p_content * @param string $p_formattingStart * @param string $p_formattingEnd */ public function MetaSubtitle($p_number = null, $p_fieldName = null, $p_count = null, $p_name = null, $p_content = null, $p_formattingStart = '', $p_formattingEnd = '') { $this->m_number = $p_number; $this->m_fieldName = $p_fieldName; $this->m_count = $p_count; $this->m_name = $p_name; $this->m_content = MetaSubtitle::ProcessContent($p_content); $this->m_nameFormattingStart = $p_formattingStart; $this->m_nameFormattingEnd = $p_formattingEnd; }