Yii Framework v1.1.10 绫诲弬鑰

CMarkdown

system.web.widgets
缁ф壙 class CMarkdown » COutputProcessor » CFilterWidget » CWidget » CBaseController » CComponent
瀹炵幇 IFilter
婧愯嚜 1.0
鐗堟湰 $Id: CMarkdown.php 3515 2011-12-28 12:29:24Z mdomba $
婧愮爜 framework/web/widgets/CMarkdown.php
CMarkdown 灏嗚幏鍙栫殑鍐呭浠巑arkdown鏍煎紡杞崲涓篐TML浠g爜銆

CMarkdown 鍙互浣滀负灏忕墿浠舵垨杩囨护鍣ㄤ娇鐢ㄣ傚畠鏄CMarkdownParser鐨勪竴涓寘瑁呫 CMarkdown 澧炲姞浜嗕竴涓檮鍔犻夐」purifyOutput锛屾閫夐」璁剧疆涓簍rue鍙互 浠ヤ娇杞崲杩囩殑HTML浠g爜鍦ㄨ鏄剧ず涔嬪墠棣栧厛琚噣鍖栥

鍙傝浠ヤ笅鍐呭浠ヤ簡瑙f洿澶氬叧浜巑arkdown鏍煎紡鐨勪俊鎭細

鍏叡灞炴

闅愯棌缁ф壙灞炴

灞炴绫诲瀷鎻忚堪瀹氫箟鍦
actionPrefix string actions鐨処D鐨勫墠缂銆 褰撳井浠跺湪CController::actions涓0鏄庝簡 鍔ㄤ綔鎻愪緵鑰咃紝鍙互涓哄叾鍔ㄤ綔鐨処D鎸囧畾鍓嶇紑浠ュ尯鍒 浜庡埆鐨勫井浠舵垨鎺у埗鍣ㄣ傚綋寰欢鐢ㄤ簬鎺у埗鍣 鐨勮鍥句腑鏃讹紝蹇呴』閰嶇疆鍚屾牱鐨勫墠缂銆 CWidget
controller CController 杩斿洖姝ゅ井浠舵墍灞炵殑鎺у埗鍣ㄣ CWidget
cssFile mixed 姝ゅ皬鐗╀欢鎵浣跨敤鐨凜SS鏂囦欢銆傞粯璁ゅ兼槸null锛岃〃绀 浣跨敤涓庢灏忕墿浠舵崋缁戠殑榛樿CSS鏂囦欢銆 濡傛灉璁剧疆涓篺alse锛屽皢涓嶄娇鐢–SS鏂囦欢銆傚叾浠栨儏鍐典笅锛屾寚瀹氱殑CSS 鏂囦欢灏嗚姝ゅ皬鐗╀欢鍖呭惈杩涙潵銆 CMarkdown
id string 杩斿洖姝ゅ井浠剁殑ID銆傚鏋滈渶瑕佺殑璇濓紝灏嗙敓浜т竴涓柊鐨処D骞跺皢鍏惰繑鍥炪 CWidget
isFilter boolean 杩欎釜widget鏄惁浣滀负涓涓繃婊ゅ櫒浣跨敤銆 CFilterWidget
markdownParser CMarkdownParser 杩斿洖markdown瑙f瀽鍣ㄥ疄渚嬨 CMarkdown
owner CBaseController 杩斿洖姝ゅ井浠剁殑鎵鏈夎呮垨鍒涘缓鑰呫 CWidget
purifyOutput boolean 鏄惁浣跨敤CHtmlPurifier鏉ュ噣鍖栦骇鐢熺殑HTML浠g爜銆傞粯璁ゅ兼槸false銆 CMarkdown
skin mixed 寰欢浣跨敤鐨勭毊鑲ょ殑鍚嶇О銆傞粯璁や负鈥渄efault鈥濄 濡傛灉姝ゅ睘鎬ц缃负false锛屽井浠跺皢涓嶄細鏈夌毊鑲よ浣跨敤銆 CWidget
stopAction boolean 褰撹繖涓獁idget鐢ㄤ綔涓涓繃婊ゅ櫒鏃舵槸鍚﹀仠姝㈠姩浣滅殑鎵ц銆 姝ゅ睘鎬у簲褰撲粎鍦CWidget::init鏂规硶涓繘琛屾敼鍙樸 榛樿鍊兼槸false锛岃〃绀哄姩浣滃皢浼氳鎵ц銆 CFilterWidget
viewPath string 杩斿洖鍖呭惈姝ゅ井浠舵墍闇鐨勮鍥炬枃浠剁殑璺緞銆 CWidget

鍏叡鏂规硶

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
__call() 濡傛灉绫讳腑娌℃湁璋冪殑鏂规硶鍚嶏紝鍒欒皟鐢ㄨ繖涓柟娉曘 CComponent
__construct() 鏋勯犲櫒銆 CFilterWidget
__get() 杩斿洖涓涓睘鎬у笺佷竴涓簨浠跺鐞嗙▼搴忓垪琛ㄦ垨涓涓涓哄悕绉般 CComponent
__isset() 妫鏌ヤ竴涓睘鎬ф槸鍚︿负null銆 CComponent
__set() 璁剧疆涓涓粍浠剁殑灞炴у笺 CComponent
__unset() 璁剧疆涓涓粍浠剁殑灞炴т负null銆 CComponent
actions() 杩斿洖姝idget浣跨敤鐨勫姩浣滅殑鍒楄〃銆 CWidget
asa() 杩斿洖杩欎釜鍚嶅瓧鐨勮涓哄璞° CComponent
attachBehavior() 闄勫姞涓涓涓哄埌缁勪欢銆 CComponent
attachBehaviors() 闄勫姞涓涓涓哄垪琛ㄥ埌缁勪欢銆 CComponent
attachEventHandler() 涓轰簨浠堕檮鍔犱竴涓簨浠跺鐞嗙▼搴忋 CComponent
beginCache() Begins fragment caching. CBaseController
beginClip() Begins recording a clip. CBaseController
beginContent() Begins the rendering of content that is to be decorated by the specified view. CBaseController
beginWidget() Creates a widget and executes it. CBaseController
canGetProperty() 纭畾灞炴ф槸鍚﹀彲璇汇 CComponent
canSetProperty() 纭畾灞炴ф槸鍚﹀彲鍐欍 CComponent
createWidget() Creates a widget and initializes it. CBaseController
detachBehavior() 浠庣粍浠朵腑鍒嗙涓涓涓恒 CComponent
detachBehaviors() 浠庣粍浠朵腑鍒嗙鎵鏈夎涓恒 CComponent
detachEventHandler() 鍒嗙涓涓瓨鍦ㄧ殑浜嬩欢澶勭悊绋嬪簭銆 CComponent
disableBehavior() 绂佺敤涓涓檮鍔犺涓恒 CComponent
disableBehaviors() 绂佺敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
enableBehavior() 鍚敤涓涓檮鍔犺涓恒 CComponent
enableBehaviors() 鍚敤缁勪欢闄勫姞鐨勬墍鏈夎涓恒 CComponent
endCache() Ends fragment caching. CBaseController
endClip() Ends recording a clip. CBaseController
endContent() Ends the rendering of content. CBaseController
endWidget() Ends the execution of the named widget. CBaseController
evaluateExpression() 璁$畻涓涓狿HP琛ㄨ揪寮忥紝鎴栨牴鎹粍浠朵笂涓嬫枃鎵ц鍥炶皟銆 CComponent
filter() 鎵ц杩囨护銆 CFilterWidget
getController() 杩斿洖姝ゅ井浠舵墍灞炵殑鎺у埗鍣ㄣ CWidget
getEventHandlers() 杩斿洖涓涓簨浠剁殑闄勫姞澶勭悊绋嬪簭鍒楄〃銆 CComponent
getId() 杩斿洖姝ゅ井浠剁殑ID銆傚鏋滈渶瑕佺殑璇濓紝灏嗙敓浜т竴涓柊鐨処D骞跺皢鍏惰繑鍥炪 CWidget
getIsFilter() 妫鏌ヨ繖涓獁idget鏄惁浣滀负涓涓繃婊ゅ櫒浣跨敤銆 CFilterWidget
getMarkdownParser() 杩斿洖markdown瑙f瀽鍣ㄥ疄渚嬨 CMarkdown
getOwner() 杩斿洖姝ゅ井浠剁殑鎵鏈夎呮垨鍒涘缓鑰呫 CWidget
getViewFile() 鏍规嵁瑙嗗浘鍚嶆煡鎵捐鍥炬枃浠躲 CWidget
getViewPath() 杩斿洖鍖呭惈姝ゅ井浠舵墍闇鐨勮鍥炬枃浠剁殑璺緞銆 CWidget
hasEvent() 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 CComponent
hasEventHandler() 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 CComponent
hasProperty() 纭畾灞炴ф槸鍚﹁瀹氫箟銆 CComponent
init() 鍒濆鍖栨灏忕墿浠躲 COutputProcessor
onProcessOutput() 褰撹幏鍙栧埌杈撳嚭鏃舵縺鍙戙 COutputProcessor
processOutput() 澶勭悊鑾峰彇鐨勮緭鍑恒 CMarkdown
raiseEvent() 鍙戣捣涓涓簨浠躲 CComponent
registerClientScript() 娉ㄥ唽蹇呴』鐨凜SS鍜孞avaScript銆 CMarkdown
registerCssFile() 娉ㄥ唽蹇呴』鐨凜SS鏂囦欢銆 CMarkdown
render() 娓叉煋涓涓鍥俱 CWidget
renderFile() Renders a view file. CBaseController
renderInternal() Renders a view file. CBaseController
run() 杩愯姝ゅ皬鐗╀欢銆 COutputProcessor
setId() 璁剧疆姝ゅ井浠剁殑ID銆 CWidget
transform() 灏唌arkdown鏍煎紡鐨勫唴瀹硅浆鎹负HTML浠g爜銆 CMarkdown
widget() Creates a widget and executes it. CBaseController

鍙椾繚鎶ゆ柟娉

闅愯棌缁ф壙鏂规硶

鏂规硶鎻忚堪瀹氫箟鍦
createMarkdownParser() 鍒涘缓涓涓猰arkdown瑙f瀽鍣ㄣ CMarkdown

浜嬩欢

闅愯棌缁ф壙浜嬩欢

浜嬩欢鎻忚堪瀹氫箟鍦
onProcessOutput 褰撹幏鍙栧埌杈撳嚭鏃舵縺鍙戙 COutputProcessor

灞炴ц缁

cssFile 灞炴
public mixed $cssFile;

姝ゅ皬鐗╀欢鎵浣跨敤鐨凜SS鏂囦欢銆傞粯璁ゅ兼槸null锛岃〃绀 浣跨敤涓庢灏忕墿浠舵崋缁戠殑榛樿CSS鏂囦欢銆 濡傛灉璁剧疆涓篺alse锛屽皢涓嶄娇鐢–SS鏂囦欢銆傚叾浠栨儏鍐典笅锛屾寚瀹氱殑CSS 鏂囦欢灏嗚姝ゅ皬鐗╀欢鍖呭惈杩涙潵銆

markdownParser 灞炴 鍙

杩斿洖markdown瑙f瀽鍣ㄥ疄渚嬨 姝ゆ柟娉曡皟鐢createMarkdownParser鏉ュ垱寤鸿В鏋愬櫒瀹炰緥銆 澶氭璋冪敤姝ゆ柟娉曚篃鍙細杩斿洖鍗曚竴鐨勫疄渚嬨

purifyOutput 灞炴
public boolean $purifyOutput;

鏄惁浣跨敤CHtmlPurifier鏉ュ噣鍖栦骇鐢熺殑HTML浠g爜銆傞粯璁ゅ兼槸false銆

鏂规硶璇︾粏

createMarkdownParser() 鏂规硶
protected CMarkdownParser createMarkdownParser()
{return} CMarkdownParser markdown瑙f瀽鍣
婧愮爜锛 framework/web/widgets/CMarkdown.php#114 (鏄剧ず)
protected function createMarkdownParser()
{
    return new 
CMarkdownParser;
}

鍒涘缓涓涓猰arkdown瑙f瀽鍣ㄣ 榛樿鎯呭喌涓嬶紝姝ゆ柟娉曞垱寤轰竴涓CMarkdownParser瀹炰緥銆

getMarkdownParser() 鏂规硶
public CMarkdownParser getMarkdownParser()
{return} CMarkdownParser 瑙f瀽鍣ㄥ疄渚
婧愮爜锛 framework/web/widgets/CMarkdown.php#102 (鏄剧ず)
public function getMarkdownParser()
{
    if(
$this->_parser===null)
        
$this->_parser=$this->createMarkdownParser();
    return 
$this->_parser;
}

杩斿洖markdown瑙f瀽鍣ㄥ疄渚嬨 姝ゆ柟娉曡皟鐢createMarkdownParser鏉ュ垱寤鸿В鏋愬櫒瀹炰緥銆 澶氭璋冪敤姝ゆ柟娉曚篃鍙細杩斿洖鍗曚竴鐨勫疄渚嬨

processOutput() 鏂规硶
public void processOutput(string $output)
$output string 闇瑕佸鐞嗙殑鑾峰彇鐨勮緭鍑恒
婧愮爜锛 framework/web/widgets/CMarkdown.php#55 (鏄剧ず)
public function processOutput($output)
{
    
$output=$this->transform($output);
    if(
$this->purifyOutput)
    {
        
$purifier=new CHtmlPurifier;
        
$output=$purifier->purify($output);
    }
    
parent::processOutput($output);
}

澶勭悊鑾峰彇鐨勮緭鍑恒 姝ゆ柟娉曞皢markdown鏍煎紡鐨勫唴瀹硅浆鎹负HTML浠g爜銆 濡傛灉purifyOutput璁剧疆涓簍rue锛岃浆鎹㈢殑HTML浠g爜灏嗚鍑鍖栥

鍙傝

  • convert
registerClientScript() 鏂规硶
public void registerClientScript()
婧愮爜锛 framework/web/widgets/CMarkdown.php#81 (鏄剧ず)
public function registerClientScript()
{
    if(
$this->cssFile!==false)
        
self::registerCssFile($this->cssFile);
}

娉ㄥ唽蹇呴』鐨凜SS鍜孞avaScript銆

registerCssFile() 鏂规硶
public static void registerCssFile(string $url=NULL)
$url string CSS鏂囦欢鐨刄RL銆傚鏋滀负null锛屽皢浣跨敤榛樿鐨凜SS鏂囦欢鐨刄RL銆
婧愮爜锛 framework/web/widgets/CMarkdown.php#91 (鏄剧ず)
public static function registerCssFile($url=null)
{
    
CTextHighlighter::registerCssFile($url);
}

娉ㄥ唽蹇呴』鐨凜SS鏂囦欢銆

transform() 鏂规硶
public string transform(string $output)
$output string 闇瑕佽浆鎹㈢殑鍐呭
{return} string 宸茶浆鎹㈢殑鍐呭
婧愮爜锛 framework/web/widgets/CMarkdown.php#72 (鏄剧ず)
public function transform($output)
{
    
$this->registerClientScript();
    return 
$this->getMarkdownParser()->transform($output);
}

灏唌arkdown鏍煎紡鐨勫唴瀹硅浆鎹负HTML浠g爜銆 姝ゆ柟娉曚娇鐢CMarkdownParser鏉ヨ繘琛岃浆鎹€

Copyright © 2008-2011 by Yii Software LLC
All Rights Reserved.