PHP で実装された単純な構文強調表示関数。 注: この関数は設計が比較的単純なので、この関数の機能を自分で拡張できない場合があります
- function syntax_highlight($code ){
-
- // これは --> "foobar" <--
- $code = preg_replace(
- '/"(.*?)"/U',
- '"$1"', $code
- );
-
- // 関数やその他の構造体を強調表示します --> function foobar() <---
- $code = preg_replace(
- ' /(s)b(.*?)((b|s)()/U',
- '$1$2$3',
- $code
- );
-
- // コメント (/* */ など) と一致します:
- $code = preg_replace(
- '/(//)(.+)s/',
- '$0',
- $code
- );
-
- $code = preg_replace(
- '/(/*. *? */)/s',
- '$0',
- $code
- );
-
- // 中括弧を強調表示します:
- $code = preg_replace('/((|[|{|}|]|)|->)/', '$1
- // 変数をハイライトします $foobar
- $code = preg_replace(
- '/($[a-zA-Z0-9_]+)/', '$1', $code
- );
-
- /* パターン内の b は単語の境界を示すため、個別
- ** 単語「web」のみが一致し、「」のような部分的な単語は一致しません。ウェビング」または「クモの巣」
- */
-
- // 特別な単語と関数
- $code = preg_replace(
- '/b(print|echo|new|function)b/',
- '$1', $code
- );
-
- return $code;
- }
-
-
- /*example-start*/
-
- /*
- ** サンプル PHP コードを作成します :
- */
-
- $example_php_code = '
- // いくつかのコード コメント:
- $example = "foobar";
-
- print $_SERVER["REMOTE_ADDR"];
-
- $array = array(1, 2, 3, 4 , 5 );
-
- function example_function($str) {
- // 文字列を反転
- echo strrev($obj);
- }
-
- print example_function("foo");
-
- /*
- ** 複数行のコメント
- */
-
- print "何か: " . $example;';
-
-
- // フォーマットされたコードを出力します:
- print '
';</li>
<li>print syntax_highlight($example_php_code);</li>
<li>print '
-
- /*example-end*/
コードをコピー
|