<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jp.ferv.blog &#187; iG:Syntax Hiliter</title>
	<atom:link href="http://ferv.jp/blog/tag/igsyntax-hiliter/feed/" rel="self" type="application/rss+xml" />
	<link>http://ferv.jp/blog</link>
	<description>「ActionScriptは素晴らしい。コンパイルする価値がある。」って偉い人が言ってた。</description>
	<lastBuildDate>Sun, 15 Aug 2010 00:42:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>iG:Syntax Hiliterでファイル名を出力する</title>
		<link>http://ferv.jp/blog/2009/01/12/igsyntaxhiliter_filename/</link>
		<comments>http://ferv.jp/blog/2009/01/12/igsyntaxhiliter_filename/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 18:28:18 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[iG:Syntax Hiliter]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=366</guid>
		<description><![CDATA[09/05/11修正 - igSynHilite関数の正規表現にA-Z0-9を追加
ご質問頂いたのでついでにネタにしちゃいます。
iG:Syntax Hiliterでファイル名を出力させる方法です。wp-conten [...]]]></description>
			<content:encoded><![CDATA[<p>09/05/11修正 - igSynHilite関数の正規表現にA-Z0-9を追加</p>
<p>ご質問頂いたのでついでにネタにしちゃいます。<br />
iG:Syntax Hiliterでファイル名を出力させる方法です。wp-content/plugins/syntax_hilite.phpの四つの関数を跨いでいます。</p>
<h4>igSynHilite</h4>
<p>まずは、取得部分。204行目でnum=*の取得と同様にname=*を取得します。</p>
	<ul class="syntax_hilite_header">		<li class="language">PHP</li>		<li class="filename">syntax_hilite.php</li>	<li class="source"><a href="#php-6_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="php-6_plane"><pre>// main function that calls the highlighter
function igSynHilite($inData) {
	$inData = preg_replace_callback('/¥[(¥w{1,})((?:¥s+num+=([0-9]{1,})+)*)((?:¥s+name+=([a-zA-Z0-9¥.¥-¥_]{1,})+)*)¥](.+?)¥[¥/¥1¥]/ims', 'igSynHilite_code', $inData);		// call code hiliter
	return $inData;
}</pre></div><div class="syntax_hilite">
<div id="php-6">
<div class="php php" style="font-family:monospace;"><ol start="202"><li class="li1"><div class="de1"><span class="co1">// main function that calls the highlighter</span></div></li>
<li class="li2"><div class="de2"><span class="kw2">function</span> igSynHilite<span class="br0">&#40;</span><span class="re0">$inData</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re0">$inData</span> <span class="sy0">=</span> <a href="http://www.php.net/preg_replace_callback"><span class="kw3">preg_replace_callback</span></a><span class="br0">&#40;</span><span class="st_h">'/¥[(¥w{1,})((?:¥s+num+=([0-9]{1,})+)*)((?:¥s+name+=([a-zA-Z0-9¥.¥-¥_]{1,})+)*)¥](.+?)¥[¥/¥1¥]/ims'</span><span class="sy0">,</span> <span class="st_h">'igSynHilite_code'</span><span class="sy0">,</span> <span class="re0">$inData</span><span class="br0">&#41;</span>;&nbsp; &nbsp; &nbsp; <span class="co1">// call code hiliter</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$inData</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div>
</div></div><br />
<h4>igSynHilite_code</h4>
<p>igSynHiliteのコールバック。187行目でファイル名を配列から抜き出し、197行目でdoHiliteに第四引数として渡す。</p>
	<ul class="syntax_hilite_header">		<li class="language">PHP</li>		<li class="filename">syntax_hilite.php</li>	<li class="source"><a href="#php-7_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="php-7_plane"><pre>//Hilite CODE
function igSynHilite_code($hCode) {
	global $igsh,$tOffAutoFmt;
	$startTag = strtolower(trim($hCode[1]));
	$inTxt = $hCode[6];
	$pVal = (int) $hCode[3];				// get the starting line number
	$filename = $hCode[5];					// get filename
	$hilitedCode = "";
	if(!empty($startTag)) {
		if(strlen($inTxt)>1) {
			$tOffAutoFmt = 1;							// if code is there, disable auto formatting
		}
		$arrSearch = array("< ", "&lt; ", " >", " &gt;", "<&nbsp;", "&lt;&nbsp;", "&nbsp;>", "&nbsp;&gt;");
		$arrReplace = array("<", "&lt;", ">", "&gt;", "<", "&lt;", ">", "&gt;");
		$inTxt = str_replace($arrSearch, $arrReplace, $inTxt);
		$pVal = ((empty($pVal)) || ($pVal<1)) ? 1 : $pVal;
		$hilitedCode = $igsh->doHilite($inTxt, $startTag, $pVal, $filename);
	}
	return $hilitedCode;
}</pre></div><div class="syntax_hilite">
<div id="php-7">
<div class="php php" style="font-family:monospace;"><ol start="181"><li class="li1"><div class="de1"><span class="co1">//Hilite CODE</span></div></li>
<li class="li2"><div class="de2"><span class="kw2">function</span> igSynHilite_code<span class="br0">&#40;</span><span class="re0">$hCode</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <a href="http://www.php.net/global"><span class="kw3">global</span></a> <span class="re0">$igsh</span><span class="sy0">,</span><span class="re0">$tOffAutoFmt</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="re0">$startTag</span> <span class="sy0">=</span> <a href="http://www.php.net/strtolower"><span class="kw3">strtolower</span></a><span class="br0">&#40;</span><a href="http://www.php.net/trim"><span class="kw3">trim</span></a><span class="br0">&#40;</span><span class="re0">$hCode</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re0">$inTxt</span> <span class="sy0">=</span> <span class="re0">$hCode</span><span class="br0">&#91;</span><span class="nu0">6</span><span class="br0">&#93;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="re0">$pVal</span> <span class="sy0">=</span> <span class="br0">&#40;</span>int<span class="br0">&#41;</span> <span class="re0">$hCode</span><span class="br0">&#91;</span><span class="nu0">3</span><span class="br0">&#93;</span>;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// get the starting line number</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re0">$filename</span> <span class="sy0">=</span> <span class="re0">$hCode</span><span class="br0">&#91;</span><span class="nu0">5</span><span class="br0">&#93;</span>;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// get filename</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="re0">$hilitedCode</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="sy0">!</span><a href="http://www.php.net/empty"><span class="kw3">empty</span></a><span class="br0">&#40;</span><span class="re0">$startTag</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/strlen"><span class="kw3">strlen</span></a><span class="br0">&#40;</span><span class="re0">$inTxt</span><span class="br0">&#41;</span><span class="sy0">&gt;</span><span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$tOffAutoFmt</span> <span class="sy0">=</span> <span class="nu0">1</span>; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// if code is there, disable auto formatting</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$arrSearch</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&quot;&lt; &quot;</span><span class="sy0">,</span> <span class="st0">&quot;&amp;lt; &quot;</span><span class="sy0">,</span> <span class="st0">&quot; &gt;&quot;</span><span class="sy0">,</span> <span class="st0">&quot; &amp;gt;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&lt;&amp;nbsp;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&amp;lt;&amp;nbsp;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&amp;nbsp;&gt;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&amp;nbsp;&amp;gt;&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$arrReplace</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&quot;&lt;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&amp;lt;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&gt;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&amp;gt;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&lt;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&amp;lt;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&gt;&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&amp;gt;&quot;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$inTxt</span> <span class="sy0">=</span> <a href="http://www.php.net/str_replace"><span class="kw3">str_replace</span></a><span class="br0">&#40;</span><span class="re0">$arrSearch</span><span class="sy0">,</span> <span class="re0">$arrReplace</span><span class="sy0">,</span> <span class="re0">$inTxt</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$pVal</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><a href="http://www.php.net/empty"><span class="kw3">empty</span></a><span class="br0">&#40;</span><span class="re0">$pVal</span><span class="br0">&#41;</span><span class="br0">&#41;</span> || <span class="br0">&#40;</span><span class="re0">$pVal</span><span class="sy0">&lt;</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span> ? <span class="nu0">1</span> <span class="sy0">:</span> <span class="re0">$pVal</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$hilitedCode</span> <span class="sy0">=</span> <span class="re0">$igsh</span><span class="sy0">-&gt;</span><span class="me1">doHilite</span><span class="br0">&#40;</span><span class="re0">$inTxt</span><span class="sy0">,</span> <span class="re0">$startTag</span><span class="sy0">,</span> <span class="re0">$pVal</span><span class="sy0">,</span> <span class="re0">$filename</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$hilitedCode</span>;</div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>
</ol></div>
</div></div><br />
<h4>doHilite</h4>
<p>第四引数でファイル名を受け取って、pFixに渡してあげるだけ。</p>
	<ul class="syntax_hilite_header">		<li class="language">PHP</li>		<li class="filename">syntax_hilite.php</li>	<li class="source"><a href="#php-8_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="php-8_plane"><pre>function doHilite($mTxt, $mType='html', $sNum=1, $filename) {</pre></div><div class="syntax_hilite">
<div id="php-8">
<div class="php php" style="font-family:monospace;"><ol start="89"><li class="li1"><div class="de1"><span class="kw2">function</span> doHilite<span class="br0">&#40;</span><span class="re0">$mTxt</span><span class="sy0">,</span> <span class="re0">$mType</span><span class="sy0">=</span><span class="st_h">'html'</span><span class="sy0">,</span> <span class="re0">$sNum</span><span class="sy0">=</span><span class="nu0">1</span><span class="sy0">,</span> <span class="re0">$filename</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
</ol></div>
</div></div><br />
	<ul class="syntax_hilite_header">		<li class="language">PHP</li>		<li class="filename">syntax_hilite.php</li>	<li class="source"><a href="#php-9_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="php-9_plane"><pre>$hCode = $this->pFix($mTypeShow, $filename, $mType.'-'.$cbId).$hCode.$this->sFix();</pre></div><div class="syntax_hilite">
<div id="php-9">
<div class="php php" style="font-family:monospace;"><ol start="155"><li class="li1"><div class="de1"><span class="re0">$hCode</span> <span class="sy0">=</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">pFix</span><span class="br0">&#40;</span><span class="re0">$mTypeShow</span><span class="sy0">,</span> <span class="re0">$filename</span><span class="sy0">,</span> <span class="re0">$mType</span><span class="sy0">.</span><span class="st_h">'-'</span><span class="sy0">.</span><span class="re0">$cbId</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="re0">$hCode</span><span class="sy0">.</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">sFix</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
</ol></div>
</div></div><br />
<h4>pFix</h4>
<p>ヘッダのHTMLを整形している関数pFixの第二引数としてファイル名が渡ってくるので、お好みに合わせて出力して下さい。<br />
syntax_hilite.phpを触った当初の目的がヘッダのHTMLをリストで出力することだったので、この例だと全面的に変更してあります。この辺りは好みの問題だと思うんで、デフォルト通りspanに$filenameを出力してもいいかもしれません。</p>
	<ul class="syntax_hilite_header">		<li class="language">PHP</li>		<li class="filename">syntax_hilite.php</li>	<li class="source"><a href="#php-10_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="php-10_plane"><pre>function pFix($hLang='PHP', $filename, $bId, $bCls='syntax_hilite') {
	$bBody = "";
	$bId = strtolower($bId);

	if(IG_PLAIN_TEXT_TYPE=="inbox") {
		$ig_jsPlainTxt = "showPlainTxt";
	} else {
		$ig_jsPlainTxt = "showCodeTxt";
	}
	$bBody .= "¥t<ul class=¥"syntax_hilite_header¥">";
	$bBody .= "¥t¥t<li class=¥"language¥">{$hLang}</li>";
	$bBody .= "¥t¥t<li class=¥"filename¥">{$filename}</li>";
	$bBody .= "¥t<li class=¥"source¥"><a href=¥"#¥" onclick=¥"javascript:{$ig_jsPlainTxt}('{$bId}'); return false;¥">Source</a></li>";
	$bBody .= "</ul>";
	$bBody .= "<div class=¥"{$bCls}¥">¥n";
	$bBody .= "<div id=¥"{$bId}¥">¥n";

	return $bBody;
}</pre></div><div class="syntax_hilite">
<div id="php-10">
<div class="php php" style="font-family:monospace;"><ol start="52"><li class="li1"><div class="de1"><span class="kw2">function</span> pFix<span class="br0">&#40;</span><span class="re0">$hLang</span><span class="sy0">=</span><span class="st_h">'PHP'</span><span class="sy0">,</span> <span class="re0">$filename</span><span class="sy0">,</span> <span class="re0">$bId</span><span class="sy0">,</span> <span class="re0">$bCls</span><span class="sy0">=</span><span class="st_h">'syntax_hilite'</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="re0">$bBody</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re0">$bId</span> <span class="sy0">=</span> <a href="http://www.php.net/strtolower"><span class="kw3">strtolower</span></a><span class="br0">&#40;</span><span class="re0">$bId</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>IG_PLAIN_TEXT_TYPE<span class="sy0">==</span><span class="st0">&quot;inbox&quot;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$ig_jsPlainTxt</span> <span class="sy0">=</span> <span class="st0">&quot;showPlainTxt&quot;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$ig_jsPlainTxt</span> <span class="sy0">=</span> <span class="st0">&quot;showCodeTxt&quot;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="re0">$bBody</span> <span class="sy0">.=</span> <span class="st0">&quot;¥t&lt;ul class=¥&quot;</span>syntax_hilite_header¥<span class="st0">&quot;&gt;&quot;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re0">$bBody</span> <span class="sy0">.=</span> <span class="st0">&quot;¥t¥t&lt;li class=¥&quot;</span>language¥<span class="st0">&quot;&gt;{$hLang}&lt;/li&gt;&quot;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="re0">$bBody</span> <span class="sy0">.=</span> <span class="st0">&quot;¥t¥t&lt;li class=¥&quot;</span>filename¥<span class="st0">&quot;&gt;{$filename}&lt;/li&gt;&quot;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re0">$bBody</span> <span class="sy0">.=</span> <span class="st0">&quot;¥t&lt;li class=¥&quot;</span>source¥<span class="st0">&quot;&gt;&lt;a href=¥&quot;</span><span class="co2">#¥&quot; onclick=¥&quot;javascript:{$ig_jsPlainTxt}('{$bId}'); return false;¥&quot;&gt;Source&lt;/a&gt;&lt;/li&gt;&quot;;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="re0">$bBody</span> <span class="sy0">.=</span> <span class="st0">&quot;&lt;/ul&gt;&quot;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re0">$bBody</span> <span class="sy0">.=</span> <span class="st0">&quot;&lt;div class=¥&quot;</span><span class="br0">&#123;</span><span class="re0">$bCls</span><span class="br0">&#125;</span>¥<span class="st0">&quot;&gt;¥n&quot;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="re0">$bBody</span> <span class="sy0">.=</span> <span class="st0">&quot;&lt;div id=¥&quot;</span><span class="br0">&#123;</span><span class="re0">$bId</span><span class="br0">&#125;</span>¥<span class="st0">&quot;&gt;¥n&quot;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$bBody</span>;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div>
</div></div><br />
<h4>問題点</h4>
<p>igSynHiliteで使った正規表現上、行数とファイル名の両方を出力する場合、<code>[php name=* num=*]</code>の順だと正しく動きません。<br />
<code>[php num=* name=*]</code>の順か、単体の<code>[php name=*]</code>か<code>[php num=*]</code>でお使い下さい。<br />
こう書けば逆順でも動くよってコードあったら教えて下さい。</p>
<p><a href='http://ferv.jp/blog/wp-content/uploads/2009/01/syntax_hilitephp.zip'>syntax_hilite.php.zip</a></p>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2009/01/12/igsyntaxhiliter_filename/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iG:Syntax HiliterのGeSHiを最新版に入れ替える</title>
		<link>http://ferv.jp/blog/2008/10/22/igsyntax-hiliter-4/</link>
		<comments>http://ferv.jp/blog/2008/10/22/igsyntax-hiliter-4/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 16:28:08 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[iG:Syntax Hiliter]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=249</guid>
		<description><![CDATA[iG:Syntax Hiliter3.5のGeSHiはVer.1.0.7.6で21言語。最新版のGeSHiはVer.1.0.8で101言語。
80言語増えてる。なんてバブリーな増え方！！
AS3にもデフォで対応してるし、 [...]]]></description>
			<content:encoded><![CDATA[<p>iG:Syntax Hiliter3.5のGeSHiはVer.1.0.7.6で21言語。最新版のGeSHiはVer.1.0.8で101言語。<br />
80言語増えてる。なんてバブリーな増え方！！<br />
AS3にもデフォで対応してるし、これで自作AS3ライブラリとオサラバ。勿論入れ替えますよね！？</p>
<p><a href="http://qbnz.com/highlighter/index.php">GeSHi</a>のDownloadsから落として解凍。<br />
/wp-content/plugins/ig_syntax_hilite/geshi.php と /wp-content/plugins/ig_syntax_hilite/geshi/ をバックアップ。<br />
落としてきたgeshiフォルダの中身を /wp-content/plugins/ig_syntax_hilite/ にアップ。</p>
<p>すげ、超簡単。</p>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2008/10/22/igsyntax-hiliter-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iG:Syntax HiliterをStyleでハイライト</title>
		<link>http://ferv.jp/blog/2008/10/21/igsyntax-hiliter-3/</link>
		<comments>http://ferv.jp/blog/2008/10/21/igsyntax-hiliter-3/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 19:04:56 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[iG:Syntax Hiliter]]></category>

		<guid isPermaLink="false">http://flabo.org/?p=227</guid>
		<description><![CDATA[iG:Syntax Hiliterの気になっていた部分で、ハイライトのスタイル指定をhtmlベースでやってるってことがあったのだけど、geshi.php側にちゃんとメソッドが用意されてました。
syntax_hilite [...]]]></description>
			<content:encoded><![CDATA[<p>iG:Syntax Hiliterの気になっていた部分で、ハイライトのスタイル指定をhtmlベースでやってるってことがあったのだけど、geshi.php側にちゃんとメソッドが用意されてました。<br/>
syntax_hilite.phpに一行追加で、スタイルをCSSにお任せできますね。ヤッター！</p>
	<ul class="syntax_hilite_header">		<li class="language">PHP</li>		<li class="filename">syntax_hilite.php</li>	<li class="source"><a href="#php-12_plane" rel="shadowbox;">Source</a></li></ul><div class="syntax_hilite_planecode" id="php-12_plane"><pre>if($igCheckFile) {
	$geshi = new GeSHi(trim($mTxt), $mType, $this->ig_geshipath);
	$geshi->enable_classes(true);		// この辺りにこの行を追加
	$geshi->set_header_type(GESHI_HEADER_DIV);</pre></div><div class="syntax_hilite">
<div id="php-12">
<div class="php php" style="font-family:monospace;"><ol start="136"><li class="li1"><div class="de1"><span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$igCheckFile</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="re0">$geshi</span> <span class="sy0">=</span> <span class="kw2">new</span> GeSHi<span class="br0">&#40;</span><a href="http://www.php.net/trim"><span class="kw3">trim</span></a><span class="br0">&#40;</span><span class="re0">$mTxt</span><span class="br0">&#41;</span><span class="sy0">,</span> <span class="re0">$mType</span><span class="sy0">,</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">ig_geshipath</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">enable_classes</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>; &nbsp; &nbsp; &nbsp; <span class="co1">// この辺りにこの行を追加</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="re0">$geshi</span><span class="sy0">-&gt;</span><span class="me1">set_header_type</span><span class="br0">&#40;</span>GESHI_HEADER_DIV<span class="br0">&#41;</span>;</div></li>
</ol></div>
</div></div><br />
<p>使用する言語数分CSS書く気力がある人はやってみるといいよ。</p>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2008/10/21/igsyntax-hiliter-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
