簡易シンタックスハイライト機能のPHP実装例 分析_PHPチュートリアル

WBOY
リリース: 2016-07-13 09:56:01
オリジナル
866 人が閲覧しました

PHP による単純な構文強調表示機能の実装例の分析

この記事では主に、PHP による単純な構文強調表示機能の実装について紹介します。必要な方は参考にしてください。

この記事の例では、PHP で簡単な構文ハイライト機能を実装する方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:

これは PHP で実装された単純な構文強調表示関数です。 注: この関数は設計が比較的単純であるため、この関数の機能を自分で拡張できない場合があります。

?

1

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 プログラミング設計に役立つことを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/990983.html技術記事 PHP の単純な構文強調表示機能の実装の分析例 この記事では、PHP の単純な構文強調表示機能の実装を中心に、正規表現を使用して構文強調表示を実装する PHP の関連技術の分析例を紹介します...
関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート