この記事では主に、PHP による単純な構文強調表示機能の実装について紹介します。必要な方は参考にしてください。
この記事の例では、PHP で簡単な構文ハイライト機能を実装する方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:これは PHP で実装された単純な構文強調表示関数です。 注: この関数は設計が比較的単純であるため、この関数の機能を自分で拡張できない場合があります。
?
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
関数構文_highlight($code){
// これは --> "foobar" <-- に一致します$code = preg_replace( '/"(.*?)"/U', '"$1"', $code ); // --> function foobar() <--- のような他の構造を強調表示します。$code = preg_replace( '/(s)b(.*?)((b|s)()/U', '$1$2$3', $コード ); // コメントの一致 (/* */ など): $code = preg_replace( '/(//)(.+)s/', '$0', $コード ); $code = preg_replace( '/(/*.*?*/)/s', '$0', $コード ); //中括弧を強調表示: $code = preg_replace('/((|[|{|}|]|)|->)/', '$1', $code); // 変数をハイライト $foobar $code = preg_replace( '/($[a-zA-Z0-9_]+)/', '$1', $code ); /* パターン内の b は単語の境界を示すため、異なるもののみを示します ** 単語「web」は一致しますが、「webbing」や「cobweb」などの部分的な単語とは一致しません */ // 特別な単語と関数 $code = preg_replace( '/b(print|echo|new|function)b/', '$1', $code ); $code を返す; } /*例の開始*/ /* ** PHP コードのサンプルを作成します: */ $example_php_code = ' // いくつかのコードコメント: $example = "フーバー"; print $_SERVER["REMOTE_ADDR"]; $配列 = 配列(1, 2, 3, 4, 5); 関数 example_function($str) { //逆文字列 エコー strrev($obj); } print example_function("foo"); /* ** 複数行のコメント */ print "何か: " . $example;'; //フォーマットされたコードを出力します: 「 」を印刷します;</p> <p>print syntax_highlight($example_php_code);</p> <p>「」を印刷します; /*例の終わり*/ |
この記事が皆様の PHP プログラミング設計に役立つことを願っています。
。