CTextHighlighter
鍖 | system.web.widgets |
---|---|
缁ф壙 | class CTextHighlighter » COutputProcessor » CFilterWidget » CWidget » CBaseController » CComponent |
瀹炵幇 | IFilter |
婧愯嚜 | 1.0 |
鐗堟湰 | $Id: CTextHighlighter.php 3515 2011-12-28 12:29:24Z mdomba $ |
婧愮爜 | framework/web/widgets/CTextHighlighter.php |
CTextHighlighter 浣胯嚜宸变富浣撲腑鐨勫唴瀹规牸寮忛珮浜
閫氳繃language灞炴ф寚瀹氬簲鐢ㄥ摢涓绉嶈瑷鐨勬牸寮忋 CTextHighlighter鐩墠鏀寔涓嬪垪璇█鏍煎紡锛 ABAP, CPP, CSS, DIFF, DTD, HTML, JAVA, JAVASCRIPT, MYSQL, PERL, PHP, PYTHON, RUBY, SQL, XML銆傞氳繃璁剧疆showLineNumbers 涓簍rue锛岄珮浜鐞嗚繃鐨勭粨鏋滃彲浠ヤ笌琛屽彿涓璧锋樉绀恒
閫氳繃language灞炴ф寚瀹氬簲鐢ㄥ摢涓绉嶈瑷鐨勬牸寮忋 CTextHighlighter鐩墠鏀寔涓嬪垪璇█鏍煎紡锛 ABAP, CPP, CSS, DIFF, DTD, HTML, JAVA, JAVASCRIPT, MYSQL, PERL, PHP, PYTHON, RUBY, SQL, XML銆傞氳繃璁剧疆showLineNumbers 涓簍rue锛岄珮浜鐞嗚繃鐨勭粨鏋滃彲浠ヤ笌琛屽彿涓璧锋樉绀恒
鍏叡灞炴
灞炴 | 绫诲瀷 | 鎻忚堪 | 瀹氫箟鍦 |
---|---|---|---|
actionPrefix | string | actions鐨処D鐨勫墠缂銆 褰撳井浠跺湪CController::actions涓0鏄庝簡 鍔ㄤ綔鎻愪緵鑰咃紝鍙互涓哄叾鍔ㄤ綔鐨処D鎸囧畾鍓嶇紑浠ュ尯鍒 浜庡埆鐨勫井浠舵垨鎺у埗鍣ㄣ傚綋寰欢鐢ㄤ簬鎺у埗鍣 鐨勮鍥句腑鏃讹紝蹇呴』閰嶇疆鍚屾牱鐨勫墠缂銆 | CWidget |
containerOptions | array | 闇瑕佸簲鐢ㄥ埌HTML瀹瑰櫒鍏冪礌涓殑HTML灞炴с 楂樹寒澶勭悊杩囩殑鍐呭琚寘鍚湪涓涓狣IV鍏冪礌涓 | CTextHighlighter |
controller | CController | 杩斿洖姝ゅ井浠舵墍灞炵殑鎺у埗鍣ㄣ | CWidget |
cssFile | mixed | 姝ゅ井浠朵娇鐢ㄧ殑CSS鏂囦欢銆傞粯璁ゅ兼槸null锛岃〃绀 浣跨敤鍖呭惈鍦ㄦ寰欢涓殑榛樿CSS鏂囦欢銆 濡傛灉璁剧疆涓篺alse锛屽垯涓嶄娇鐢–SS鏂囦欢銆傚叾浠栨儏鍐典笅锛屾寚瀹氱殑 CSS鏂囦欢琚寘鍚埌姝ゅ井浠朵腑銆 | CTextHighlighter |
id | string | 杩斿洖姝ゅ井浠剁殑ID銆傚鏋滈渶瑕佺殑璇濓紝灏嗙敓浜т竴涓柊鐨処D骞跺皢鍏惰繑鍥炪 | CWidget |
isFilter | boolean | 杩欎釜widget鏄惁浣滀负涓涓繃婊ゅ櫒浣跨敤銆 | CFilterWidget |
language | string | 浣跨敤鍝竴绉嶈瑷鐨勬牸寮忚繘琛岄珮浜鐞嗐 鏈夋晥鐨勫兼槸鍖呭惈鍦ㄢ渧endors/TextHighlighter/Text/Highlighter鈥 涔嬩腑鐨勬枃浠剁殑鏂囦欢鍚嶏紙涓嶅寘鎷墿灞曞悕锛夈傜洰鍓嶏紝涓嬪垪 璇█鏄鏀寔鐨勶細 ABAP, CPP, CSS, DIFF, DTD, HTML, JAVA, JAVASCRIPT, MYSQL, PERL, PHP, PYTHON, RUBY, SQL, XML 濡傛灉涓涓瑷灏氭湭琚敮鎸侊紝瀹冨皢琚綔涓虹畝鍗曠殑鏅氭枃鏈樉绀恒 璇█鐨勫悕瀛楁槸澶у皬鍐欐晱鎰熺殑銆 | CTextHighlighter |
lineNumberStyle | string | 琛屽彿鏄剧ず鐨勯鏍笺傚彲浠ユ槸鈥渓ist鈥濇垨鈥渢able鈥濄傞粯璁ゅ兼槸鈥渓ist鈥濄 | CTextHighlighter |
owner | CBaseController | 杩斿洖姝ゅ井浠剁殑鎵鏈夎呮垨鍒涘缓鑰呫 | CWidget |
showLineNumbers | boolean | 鏄惁鍦ㄩ珮浜鐞嗙殑缁撴灉涓樉绀鸿鍙枫傞粯璁ゅ兼槸false銆 | CTextHighlighter |
skin | mixed | 寰欢浣跨敤鐨勭毊鑲ょ殑鍚嶇О銆傞粯璁や负鈥渄efault鈥濄 濡傛灉姝ゅ睘鎬ц缃负false锛屽井浠跺皢涓嶄細鏈夌毊鑲よ浣跨敤銆 | CWidget |
stopAction | boolean | 褰撹繖涓獁idget鐢ㄤ綔涓涓繃婊ゅ櫒鏃舵槸鍚﹀仠姝㈠姩浣滅殑鎵ц銆 姝ゅ睘鎬у簲褰撲粎鍦CWidget::init鏂规硶涓繘琛屾敼鍙樸 榛樿鍊兼槸false锛岃〃绀哄姩浣滃皢浼氳鎵ц銆 | CFilterWidget |
tabSize | integer | 鍒惰〃绗︾殑瀹藉害銆傞粯璁ゅ兼槸4銆 | CTextHighlighter |
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 |
getOwner() | 杩斿洖姝ゅ井浠剁殑鎵鏈夎呮垨鍒涘缓鑰呫 | CWidget |
getViewFile() | 鏍规嵁瑙嗗浘鍚嶆煡鎵捐鍥炬枃浠躲 | CWidget |
getViewPath() | 杩斿洖鍖呭惈姝ゅ井浠舵墍闇鐨勮鍥炬枃浠剁殑璺緞銆 | CWidget |
hasEvent() | 纭畾涓涓簨浠舵槸鍚﹀畾涔夈 | CComponent |
hasEventHandler() | 妫鏌ヤ簨浠舵槸鍚︽湁闄勫姞鐨勫鐞嗙▼搴忋 | CComponent |
hasProperty() | 纭畾灞炴ф槸鍚﹁瀹氫箟銆 | CComponent |
highlight() | 鏍规嵁鎸囧畾鐨勮瑷鐨勬牸寮忚繘琛岄珮浜鐞嗐 | CTextHighlighter |
init() | 鍒濆鍖栨灏忕墿浠躲 | COutputProcessor |
onProcessOutput() | 褰撹幏鍙栧埌杈撳嚭鏃舵縺鍙戙 | COutputProcessor |
processOutput() | 澶勭悊鑾峰彇鐨勮緭鍑恒 | CTextHighlighter |
raiseEvent() | 鍙戣捣涓涓簨浠躲 | CComponent |
registerClientScript() | 娉ㄥ唽蹇呴』鐨凜SS鍜孞avaScript銆 | CTextHighlighter |
registerCssFile() | 娉ㄥ唽蹇呴』鐨凜SS鏂囦欢銆 | CTextHighlighter |
render() | 娓叉煋涓涓鍥俱 | CWidget |
renderFile() | Renders a view file. | CBaseController |
renderInternal() | Renders a view file. | CBaseController |
run() | 杩愯姝ゅ皬鐗╀欢銆 | COutputProcessor |
setId() | 璁剧疆姝ゅ井浠剁殑ID銆 | CWidget |
widget() | Creates a widget and executes it. | CBaseController |
灞炴ц缁
containerOptions
灞炴
public array $containerOptions;
闇瑕佸簲鐢ㄥ埌HTML瀹瑰櫒鍏冪礌涓殑HTML灞炴с 楂樹寒澶勭悊杩囩殑鍐呭琚寘鍚湪涓涓狣IV鍏冪礌涓
cssFile
灞炴
public mixed $cssFile;
姝ゅ井浠朵娇鐢ㄧ殑CSS鏂囦欢銆傞粯璁ゅ兼槸null锛岃〃绀 浣跨敤鍖呭惈鍦ㄦ寰欢涓殑榛樿CSS鏂囦欢銆 濡傛灉璁剧疆涓篺alse锛屽垯涓嶄娇鐢–SS鏂囦欢銆傚叾浠栨儏鍐典笅锛屾寚瀹氱殑 CSS鏂囦欢琚寘鍚埌姝ゅ井浠朵腑銆
language
灞炴
public string $language;
浣跨敤鍝竴绉嶈瑷鐨勬牸寮忚繘琛岄珮浜鐞嗐 鏈夋晥鐨勫兼槸鍖呭惈鍦ㄢ渧endors/TextHighlighter/Text/Highlighter鈥 涔嬩腑鐨勬枃浠剁殑鏂囦欢鍚嶏紙涓嶅寘鎷墿灞曞悕锛夈傜洰鍓嶏紝涓嬪垪 璇█鏄鏀寔鐨勶細 ABAP, CPP, CSS, DIFF, DTD, HTML, JAVA, JAVASCRIPT, MYSQL, PERL, PHP, PYTHON, RUBY, SQL, XML 濡傛灉涓涓瑷灏氭湭琚敮鎸侊紝瀹冨皢琚綔涓虹畝鍗曠殑鏅氭枃鏈樉绀恒 璇█鐨勫悕瀛楁槸澶у皬鍐欐晱鎰熺殑銆
lineNumberStyle
灞炴
public string $lineNumberStyle;
琛屽彿鏄剧ず鐨勯鏍笺傚彲浠ユ槸鈥渓ist鈥濇垨鈥渢able鈥濄傞粯璁ゅ兼槸鈥渓ist鈥濄
鍙傝
showLineNumbers
灞炴
public boolean $showLineNumbers;
鏄惁鍦ㄩ珮浜鐞嗙殑缁撴灉涓樉绀鸿鍙枫傞粯璁ゅ兼槸false銆
鍙傝
tabSize
灞炴
public integer $tabSize;
鍒惰〃绗︾殑瀹藉害銆傞粯璁ゅ兼槸4銆
鏂规硶璇︾粏
highlight()
鏂规硶
public string highlight(string $content)
| ||
$content | string | 闇瑕佽繘琛岄珮浜鐞嗙殑鍐呭 |
{return} | string | 缁忚繃楂樹寒澶勭悊鐨勫唴瀹 |
婧愮爜锛 framework/web/widgets/CTextHighlighter.php#85 (鏄剧ず)
public function highlight($content)
{
$this->registerClientScript();
$options['use_language']=true;
$options['tabsize']=$this->tabSize;
if($this->showLineNumbers)
$options['numbers']=($this->lineNumberStyle==='list')?HL_NUMBERS_LI:HL_NUMBERS_TABLE;
$highlighter=empty($this->language)?false:Text_Highlighter::factory($this->language);
if($highlighter===false)
$o='<pre>'.CHtml::encode($content).'</pre>';
else
{
$highlighter->setRenderer(new Text_Highlighter_Renderer_Html($options));
$o=preg_replace('/<span\s+[^>]*>(\s*)<\/span>/','\1',$highlighter->highlight($content));
}
return CHtml::tag('div',$this->containerOptions,$o);
}
鏍规嵁鎸囧畾鐨勮瑷鐨勬牸寮忚繘琛岄珮浜鐞嗐
processOutput()
鏂规硶
public void processOutput(string $output)
| ||
$output | string | 闇瑕佸鐞嗙殑鑾峰彇鐨勮緭鍑 |
婧愮爜锛 framework/web/widgets/CTextHighlighter.php#74 (鏄剧ず)
public function processOutput($output)
{
$output=$this->highlight($output);
parent::processOutput($output);
}
澶勭悊鑾峰彇鐨勮緭鍑恒 姝ゆ柟娉曟牴鎹language鎸囧畾鐨勮瑷鐨勬牸寮忚繘琛岄珮浜鐞
registerClientScript()
鏂规硶
public void registerClientScript()
|
婧愮爜锛 framework/web/widgets/CTextHighlighter.php#109 (鏄剧ず)
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/CTextHighlighter.php#119 (鏄剧ず)
public static function registerCssFile($url=null)
{
if($url===null)
$url=CHtml::asset(Yii::getPathOfAlias('system.vendors.TextHighlighter.highlight').'.css');
Yii::app()->getClientScript()->registerCssFile($url);
}
娉ㄥ唽蹇呴』鐨凜SS鏂囦欢銆