../

インライン・マルチラインコメントアウト

official:自作プラグイン/null.inc.phpとpukiwiki.ini.phpのPKWKEXP_DISABLE_MULTILINE_PLUGIN_HACKを有効にすること 」で、同様のことが実現できます。
改造には危険を伴います。どのように実現するかは各自の判断・責任でお願いします。

発端

//コメント

は、1行コメントでかつ、

文章 //コメント

のように、行中にコメントを書けない。

phpの/*~*/のようなコメント機能が欲しい。

仕様

テキスト整形ルール

コメントは表示されません

文章1<!--コメント-->文章2
文章1<!--コメント-->
<!--コメント-->文章1
文章1<!--コメント-->文章2<!--コメント-->文章3

文章1<!--コメント
コメント
-->文章2

文章1<!--コメント
//コメント<!--コメント-->コメント
-->文章2

null.inc.phpにできないが、この改造でできること

差分

改造は自己責任で

convert_html.php,v 1.18
下の差分は旧版です。最新の差分はこちら(コメントの下のほう)。上の仕様 は最新版についての説明です。

--- convert_html.org.php	Sat May 13 07:29:58 2006
+++ convert_html.php	Sat May 26 14:49:15 2007
@@ -885,6 +885,20 @@
 			// Line Break
 			if (substr($line, -1) == '~')
 				$line = substr($line, 0, -1) . "\r";
+
+			// Escape inline and multiline comments 
+			$line = preg_replace('/\<\!--(.*)--\>/U','',$line);
+			if (preg_match('/^(.*)\<\!--/U',$line, $matches)) {
+				$line = $matches[1];
+				while (! empty($lines)) {
+					if (preg_match('/--\>(.*)$/U', array_shift($lines), $matches)) {
+ 						$line .= $matches[1];
+						break;
+					}
+				}
+			}
+			$head = $line{0}; // replace head
 			
 			// Other Character
 			if (isset($this->classes[$head])) {


*1 *見出し<!--コメント-->のコメントは表示されます
*2 プログラムソースを張りたい時があると思いますので
*3 行頭に*/があるとアンカーが付いてしまう*4
*4 lib/file.phpのmake_str_rulesが付けてくれる XD
*5 行頭//-->ではコメントを終了できません
*6 ソースの上の方からコピペした
*7 マニュアルより引用 : ある文字列が他の文字列内に含まれているかどうかを調べるためだけに preg_match() を使うのは避けた方が良いでしょう。
   strpos() か strstr() 関数を 使う方が速くなります。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-04-04 (土) 01:22:19
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.251 sec.

SourceForge