MetaSubtitle::ProcessContent PHP Method

ProcessContent() private static method

Process the body field content (except subtitles): - internal links - image links
private static ProcessContent ( string $p_content ) : string
$p_content string
return string
    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;
    }

Usage Example

示例#1
0
 /**
  * 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;
 }