GoGPT Best VPN GoSearch

OnWorksファビコン

mp4h - クラウド上のオンライン

OnWorksの無料ホスティングプロバイダーで、Ubuntuオンライン、Fedoraオンライン、Windowsオンラインエミュレータ、またはMAC OSオンラインエミュレータを介してmp4hを実行します。

これは、Ubuntuオンライン、Fedoraオンライン、Windowsオンラインエミュレータ、MAC OSオンラインエミュレータなど、複数の無料オンラインワークステーションのいずれかを使用して、OnWorks無料ホスティングプロバイダーで実行できるコマンドmp4hです。

プログラム:

NAME


mp4h - HTMLドキュメント用マクロプロセッサ

VERSION


このドキュメントでは mp4h バージョン 1.3.1 について説明します。

はじめに


当学校区の mp4h ソフトウェアは、HTML ドキュメントを処理するために特別に設計されたマクロプロセッサです。
HTML 作成者に馴染みのある構文を使用して、強力なプログラミング構造を可能にします。

このソフトウェアは メタHTMLhttp://www.metahtml.org/>」、ブライアン・J 著。
フォックス、両方の構文が似ているように見えても、ソースコードは全く異なります。実際、
のサブセット メタHTML より複雑なプログラムの一部として使用されました。 WML (ウェブサイトメタ
言語 "http://www.thewml.org/ラルフ・S・エンゲルシャルによって書かれたもので、私は
1999年XNUMX月から維持されています。ライセンス上の理由から、ハッキングは困難でした メタHTML など
独自のマクロプロセッサを書くことにしました。

最初から書き直す代わりに、別のマクロプロセッサエンジンを使うことにしました。
GNUを選んだ m4http://www.gnu.org/software/m4/>」は、ルネ・セインダルによって書かれた。
このソフトウェアには多くの利点があります。安定性、堅牢性、そして非常に充実したドキュメントが揃っています。
のバージョン mp4h GNUから派生した m4 バージョン 1.4n は開発バージョンです。

当学校区の mp4h このソフトウェアはHTMLエディタではありません。その独自の目的は、
HTML文書内で独自のマクロを定義する。機能を追加する予定はない。
コードを整理したり検証したりしたい場合は、有効なHTMLドキュメントを自動的に生成します。
tidyのようなポストプロセッサを使用するだけです。http://www.w3.org/People/Raggett/tidy/> "。

COMMAND LINE OPTIONS


オプション引数は角括弧で囲まれます。すべてのオプション同義語には
構文は似ているため、長いオプションが引数を受け入れる場合は、短いオプションも引数を受け入れます。

構文呼び出しは

mp4h [オプション] [ファイル名 [ファイル名] ...]

オプションについては以下で説明します。ファイル名が指定されていない場合、またはファイル名が「-」の場合、
文字は標準入力から読み取られます。

操作 モード
- 助けて ヘルプメッセージを表示して終了する
- バージョン 出力 mp4h バージョン情報と終了
-E -致命的-警告 最初の警告後に実行を停止する
-Q - 静かな - 静けさ ビルトインのいくつかの警告を抑制
-S --safety-level="数値" 危険な機能を無効にします。0はフィルタリングなし、1は無効です
「実行」と2これも無効にし、ファイルシステムに関連するすべての機能も無効にします:「file-exists」、
「real-path」、「get-file-properties」、「directory-contents」、および「include」。

プリプロセッサ 機能を使用
-I --include="ディレクトリ" このディレクトリでインクルードとパッケージを検索します
-D --define="名前"[=値]"" 変数NAMEをVALUEまたは空に設定する
-U --undefine="コマンド" 組み込みコマンドの削除
-s -- 同期線 `#line NO "FILE"' 行を生成する

パーサ 機能を使用
-c --caseless="数値" 「NUMBER」のビットに従って大文字と小文字の区別を設定します。ヌル
ビットはシンボルが大文字と小文字を区別することを意味します。ビットは次のように定義されます: 0 はタグ、1 は
変数の場合は2、エンティティの場合は3です。デフォルト値はXNUMXで、エンティティのみが大文字と小文字を区別します。
-e --encoding="名前" 文書のエンコードを指定します。有効なオプションは「8bit」(デフォルト)または
`utf8'。
-X --expansion="数値" 「NUMBER」のビットに応じてパーサーの動作を設定する

NUMBERは、

1 不明なタグを解析しない
2 不明なタグは単純であると想定されます
4 タグ名の末尾に星を付けると、このタグはシンプルになりません
8 一致しない終了タグは、それ以前の一致しない開始タグをすべて閉じます。
16 バックスラッシュをprintfとして解釈する
32 タグ属性の末尾のスラッシュを削除する
64 タグ名の末尾の星を削除しないでください
128 タグ名の先頭の星を削除しないでください
256 タグ属性の末尾のスラッシュの前にスペースを追加しないでください
1024 不適切なネストタグに関する警告を抑制する
2048 末尾のスラッシュがないという警告を抑制する

バージョン 1.3.1 では、デフォルト値は 3114 = 2 + 8 + 32 + 1024 + 2048 です。

境界 コントロール
-H --hashsize="プライム" シンボル検索ハッシュテーブルのサイズを設定する(デフォルトは509)
-L -nesting-limit="数値" 人工的なネスト制限を変更する(デフォルトは250)

デバッギング
-d --debug="フラグ" デバッグレベルを設定します (FLAGS は `aeq' を意味します)
-t --trace="名前" 定義されるときにNAMEをトレースする
-l --arglength="数値" マクロのトレース サイズを制限する
-o --error-output="ファイル" デバッグとトレースの出力をリダイレクトする

フラグは次のいずれかです:

t デバッグオンだけでなく、すべてのマクロ呼び出しをトレースします
a 実際の引数を表示する
e 拡大表示
c 収集前、収集後、通話後に表示
x 固有のマクロ呼び出しIDを追加します。cフラグで役立ちます。
f 現在の入力ファイル名を言う
l 現在の入力行番号を言う
p パス検索の結果を表示する
m モジュール操作の結果を表示する
i 入力ファイルの変更を表示する
V 上記のすべてのフラグの省略形

DESCRIPTION


当学校区の mp4h ソフトウェアはマクロプロセッサであり、キーワードが他のキーワードに置き換えられることを意味します。
テキスト。この章ではすべてのプリミティブについて説明します。 mp4h 特別に設計されています
HTML文書の構文はタグと属性を備えており、HTMLと非常によく似ています。
重要な機能はHTMLには存在しません。行末までコメントです。すべてのテキスト
続く3つのコロンは行末まで破棄されます。

;;; これはコメントです

演算 マクロ
注意: このドキュメントのすべての例は、 mp4h 拡張フラグ付き
ゼロに設定すると(文書末尾の可能な拡張フラグの説明を参照)、
なぜシンプルなタグに末尾のスラッシュが含まれるのか。しかし mp4h 他のHTMLファイルと一緒にプレーンHTMLファイルを出力できます
拡張フラグ。

新しいタグの定義は、 mp4hHTMLと同様に、マクロ
「-c」オプションを使用してこのデフォルトの動作を変更しない限り、名前は大文字と小文字を区別しません。
このドキュメントでは小文字のみを使用します。タグには2種類あります。
シンプルと複雑。シンプルなタグの形式は次のようになります。



一方、複雑なタグは次のようになります。


ボディ


バージョン0.9.1以降、 mp4h XHTML構文も認識するので、入力ファイルはHTMLに準拠している可能性があります。
またはXHTML構文です。このマニュアルでは後者を採用しています。そのため、単純なタグには
属性の末尾にスラッシュを付けます。この入力ファイルからHTMLファイルを生成する場合は、
適切な「--expansion」フラグを選択するか、tidyのようなポストプロセッサを使用するかのいずれかです。
http://www.w3.org/People/Raggett/tidy/> "。

単純なタグが次のように定義される場合 mp4h末尾のスラッシュがあっても解析できます。
省略、なぜなら mp4h このタグはシンプルです。しかし、常に
単純なタグに末尾のスラッシュを追加します。

以下のマクロの説明では、スラッシュは単純なタグを示し、V文字は
属性はそのまま(展開なしで)読み取られます(マクロ展開の章を参照してください)。
詳細は以下を参照。

· タグの定義

"名前" "[属性=そのまま]" "[終了タグ=必須]" "[空白=削除]"

この関数を使うと、独自のタグを定義できます。最初の引数はコマンド名です。
置換テキストは関数本体です。

出典:

バー


出力:

バー

HTML構文ではスペースがあまり使われないことが多いですが、

バー

 


バー


は同等ではない。後者の形式には、前者には存在しなかった2つの改行が含まれている。
形。

「空白=削除」
置換テキストでは、先頭または末尾のスペースが抑制されます。
スペース、および山括弧で囲まれていない改行。

"終了タグ=必須"
複雑なタグを定義する

出典:

バー


出力:

バー

出典:

;;;
本文は: %body
ここにあります

出力:

本文は:ここにあります

「属性=逐語的」
デフォルトでは、テキストが置換される前に属性が展開されます。この属性を使用すると、
属性は拡張されずに置換テキストに挿入されます。

出典:

クックス

ボディ: %Ubody
属性: %Uattributes

">さぁ行こう

出力:

本文: さあ、始めましょう
属性: txt=

· タグを提供する

"名前" "[属性=そのまま]" "[終了タグ=必須]" "[空白=削除]"

このコマンドは前のコマンドと似ていますが、この場合は何も実行されません。
コマンドはすでに定義されています。

· "S"とする

"新しい=古い

関数をコピーします。このコマンドは、マクロ定義を再定義する前に保存するのに役立ちます。

出典:

1つ




出力:

2つ

· 未定義 "S"

"名前"

コマンド定義を削除します。

出典:

1つ



出力:



· セットフック

"名前" "[位置=前|後]" "[アクション=挿入|追加|置換]"

定義済みのマクロにテキストを追加します。このメカニズムにより、既存のマクロを変更できます。
複雑かどうか、その種類を気にする必要はありません。

出典:



前に




出力:

前10


· ゲットフック "S"

"名前" "[位置=前|後]"

マクロの現在のフックを出力します。

出典:

position=before で挿入されたテキスト: !
position=after で挿入されたテキスト: !

出力:

position=before で挿入されたテキスト:
前に!
position=after で挿入されたテキスト:
後!

· 属性引用符 "S"

"%属性"

%attributesと同様ですが、「attr=value」のペアは二重引用符で囲まれて出力されます。
属性値を囲み、テキストが印刷される場合は先頭にスペースが追加されます。

出典:

;;;
%属性
/>




出力:

id=logo src=logo.gif name=ロゴ alt=当社のロゴ




· 属性抽出「S」

"名前1 「[,名前2[,名前3...]]" "%属性"

%attributesから、次のいずれかに一致する名前の「attr=value」ペアを抽出します。 name1, name2....

出典:


/>



出力:



· 属性 - 「S」を削除

"名前1 「[,名前2[,名前3...]]" "%属性"

%attributesから、次のいずれかに一致する名前の「attr=value」ペアを削除します。 name1, name2....

出典:


/> />



出力:



注意: 前の2つの関数は他のマクロとは異なり、
展開はグループを形成しません。これは、結果のリストを解析するために必要です。
属性を指定します。

これら2つの関数では、属性名は正規表現で表すことができます。
これらのプリミティブは、あらゆる種類の属性を受け入れるマクロを書くのに役立ちます。
それらを宣言する。典型的な例は

出典:



/>
/>
href="/ ">


<href class=web url="http://www.foo.com" name="ようこそ" />

出力:

<a class="web"
href = "/http://www.foo.com">ようこそ

しかし、今回は画像属性を追加したいので、次のように記述します。

出典:



/>
/>
href="/ ">

/>
src="/ 「 alt =" " ボーダー=0 />

/>



<href class=web url="http://www.foo.com" name="ようこそ" image="foo.png"/>

出力:

<a class="web"
href = "/http://www.foo.com">
src="/foo.png" 読み込み="lazy" alt="ようこそ" border=0 />

伝えるための仕組みが必要です mp4h いくつかの属性は特定のHTMLタグを参照します。
解決策は、属性の前にタグ名を付けることです。例:

出典:



/>
/>
href="/ ">

/>
src="/ 「 alt =" 「 />」

/>



<href a:class=web img:id=logo img:border=1
URL=http://www.foo.com" name="ようこそ" image="foo.png" 読み込み="lazy" />

出力:

<a a:class="web"
href = "/http://www.foo.com">
src="/foo.png" 読み込み中="lazy" alt="ようこそ" />

この例では、属性名内で正規表現が使用できることを示していますが、
まだ不完全です。属性から接頭辞を削除したいからです。解決策の一つは
「subst-in-string」ですが、よりエレガントな方法があります。

出典:



/>
/>
href="/ ">

/>
src="/ 「 alt =" 「 />」

/>



<href :a:class=web :img:id=logo :img:border=1
URL=http://www.foo.com" name="ようこそ" image="foo.png" 読み込み="lazy" />

出力:

<a class="web"
href = "/http://www.foo.com">
src="/foo.png" 読み込み中="lazy" alt="ようこそ" />

正規表現内に部分式がある場合は、正規表現の代わりに表示されます。
全体の表現。また、接頭辞の前にコロンを付けて、混同しないようにしている点にも注意してください。
XML 名前空間を使用します。

エンティティ
エンティティはタグと同じようにマクロですが、引数を取りません。一方、
タグは通常テキストをマークアップするために使用され、エンティティは既にマークアップされたテキストを含みます。また
タグとは異なり、エンティティはデフォルトで大文字と小文字が区別されることに注意してください。

エンティティの形式は次のとおりです。

&実在物;

· エンティティの定義

"名前"

この関数を使うと、独自のエンティティを定義できます。最初の引数はエンティティ名です。
置換テキストは関数本体です。

出典:

バー
&foo;

出力:

バー

変数
変数は属性を受け入れないため、単純なタグの特別なケースです。
実際、変数はテキストを格納するのに対し、マクロは
演算子。変数に関する便利な機能は、配列として操作できることです。実際、
変数は改行で区切られたリストのように考えることができ、強力な
操作関数については後述します。

· 変数 "S" を設定する

"名前[=値]" "[名前[=値]] ... "

このコマンドは変数を設定します。

· set-var-verbatim "S""V"

"名前[=値]" "[名前[=値]] ... "

上記と同様ですが、属性はそのまま読み取られます。

· set-var-x

"名前=変数名"

このコマンドは、コマンド本体の値を変数に代入します。これは特に
変数値に改行や引用符が含まれている場合に便利です。

このコマンドでは変数にインデックスを付けることはできないので注意してください。また、このコマンドでは
set-var-verbatim と同じように動作します。変数が次のように表示されるまで、本体は展開されません。
変数を取得します。

· get-var "S"

"名前" "[名前] ... "

変数の内容を表示します。角括弧で囲まれた数値が
変数名は配列のインデックスを表します。配列の最初のインデックスは0で、
コンベンション。

出典:


これはバージョン
オペレーティングシステムは
「 「


出力:

これはバージョン0.10.1です

オペレーティングシステムは
「リナックス」
"

出典:

<set-var foo="0
1
2
3" />


出力:

200
1
2
3

· get-var-once "S""V"

"名前" "[名前] ... "

上記と同じですが、属性は展開されません。

出典:

0.10.1
" /> ;;;
こちらのバージョン
" /> ;;;
こちらのバージョン
" /> ;;;
こちらのバージョン

出力:

バージョン0.10.1はこちら
バージョン0.10.1はこちら
こちらのバージョン

· 「S」を保存する

"名前" "[名前] ... "

すべての変数はグローバルであり、変数やマクロのスコープはありません。このため、スタックは
変数を保存するために使用されます。このコマンドが呼び出されると、引数は
変数はスタックの先頭に置かれ、変数は
空の文字列。

· 「S」を復元する

"名前" "[名前] ... "

これは逆です。引数は変数の名前であり、見つかった値に設定されます。
スタックの一番上にあり、スタックがポップダウンされます。

注意: 「保存」タグは最後の引数を最初にプッシュしますが、「復元」タグは最初に最後の引数をポップします。
最初の引数。

出典:




内部: src=名前=テキスト=



以前: src=名前=テキスト=

後: src=名前=テキスト=

出力:

以前: src=foo.png name= text=Hello, World!
内部: src=bar name=quux text=
後: src=foo.png name= text=Hello, World!

· 変数「S」の設定を解除

"名前" "[名前] ... "

変数を定義解除します。

· 変数が存在する "S"

"名前"

この変数が存在する場合は「true」を返します。

· 増分「S」

"名前" 「[by=価値]"

最初の引数で指定した名前の変数を増分します。デフォルトの増分は1です。

"by=価値"
増分量を変更します。

出典:






出力:

10
11
8

· デクリメント「S」

"名前" 「[by=価値]"

最初の引数で指定した名前の変数を減算します。デフォルトの減算値は1です。

"by=価値"
減少量を変更します。

出典:






出力:

10
9
6

· コピー変数 "S"

"ソース "目的地

変数を別の変数にコピーします。

出典:





出力:

10

· 定義変数 "S"

"名前" "価値"

この変数が定義されていないか、空の文字列に定義されている場合は、
XNUMX 番目の引数。

出典:





出力:

Title
Title

· シンボル情報 "S"

"名前"

シンボルの情報を表示します。変数名の場合は、「STRING」という単語が次のように表示されます。
この変数に含まれる行数も同様です。

マクロ名の場合は、次のメッセージのいずれかが出力されます: "PRIM COMPLEX", "PRIM
「タグ」、「ユーザーコンプレックス」または「ユーザータグ」

出典:

<set-var x="0\n1\n2\n3\n4" />
バー
クックス






出力:

STRING
5
プリムタグ
プリムコンプレックス
ユーザータグ
ユーザーコンプレックス

String 機能
· 文字列の長さ「S」

"弦"

文字列の長さを出力します。

出典:

<set-var foo="0
1
2
3" />;;;
/>
;;;
/> />;;;


出力:

7
7

· 小文字の「S」

"弦"

小文字に変換します。

出典:



出力:

それは機能しますか?

· 大文字の「S」

"弦"

大文字に変換します。

出典:



出力:

それは機能しますか?

· 「S」を大文字にする

"弦"

各単語の先頭を大文字にしてタイトルに変換します。

出典:



出力:

それは動作するのでしょうか?

· 部分文字列「S」

"弦" "[start [終わり]]"

文字列から部分文字列を抽出します。最初の引数は元の文字列、2番目と3番目は
はそれぞれ開始インデックスと終了インデックスです。慣例により、最初の文字はヌルインデックスになります。

出典:


4 />
4 6 />

出力:

エフギク
ef

· 文字列等号 "S"

"文字列1" "文字列2" "[caseless=true]"

最初の 2 つの引数が等しい場合は「true」を返します。

出典:

1:
2:

出力:

1:
2:真

「大文字と小文字を区別しない=true」
比較では大文字と小文字は区別されません。

出典:

1:
2:

出力:

1:真
2:真

· 文字列-neq "S"

"文字列1" "文字列2" "[caseless=true]"

最初の 2 つの引数が等しくない場合は「true」を返します。

出典:

1:
2:

出力:

1:真
2:

「大文字と小文字を区別しない=true」
比較では大文字と小文字は区別されません。

出典:

1:
2:

出力:

1:
2:

· 文字列比較 "S"

"文字列1" "文字列2" "[caseless=true]"

2つの文字列を比較し、以下のいずれかの値を返します。
この比較。

出典:

1:
2:

出力:

1:以下
2:等しい

「大文字と小文字を区別しない=true」
比較では大文字と小文字は区別されません。

出典:

1:

出力:

1:等しい

· 文字オフセット "S"

"弦" "キャラクター" "[caseless=true]"

文字列内で文字が出現するインデックスを含む配列を出力します。

「大文字と小文字を区別しない=true」
比較では大文字と小文字は区別されません。

出典:

1:
2:

出力:

1:0
8
2:0
4
8

· printf "S"

"フォーマット" "弦" "[string ...]」

指定されたフォーマットに従って印刷します。現在は%sフラグ文字のみが認識されます。
引数の順序を変更するために「$」拡張子がサポートされています。

出典:

1:
2:

出力:

1:フー・バズ・バー 10
2:foo 10 バーバズ

レギュラー
正規表現のサポートはPCRE(Perl互換正規表現)によって提供されます。
ライブラリ パッケージはオープン ソース ソフトウェアであり、著作権はケンブリッジ大学が所有します。
これは非常に優れたソフトウェアで、最新バージョンは以下から入手できます。
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/> "。

バージョン1.0.6より前では、POSIX正規表現が実装されていました。そのため、
次のマクロは、「caseless=true」と「singleline=true|false」の 2 つの属性を認識します。
しかしPerlでは、いわゆる修飾子を使って正規表現をより良く制御することができます。
これらは新しい「reflags」属性に関連付けられます。1つ以上の修飾子を含めることができます。

i マッチングでは大文字と小文字は区別されません
m 文字列を複数行として扱います。設定すると、「^」は行頭に一致し、「$」は
行末の任意の位置。デフォルトでは文字列の先頭と末尾に一致します。
s 文字列を1行として扱います。ドット(「.」)は改行文字と一致する場合もありますが、
デフォルトでは
x フォーマットされた正規表現を許可します。つまり、空白、改行、コメントは
処理前に正規表現から削除されます。

注意: 属性「singleline=true」は「s」修飾子の同義語ですが、
「singleline=false」は「m」修飾子と同義です。この動作は、
mp4h 1.0.6.

· 文字列の置換 "S"

"弦" "正規表現" "[交換]" "[大文字小文字を区別しない=true]" "[一行表記=true|false]"
"[reflags=[imsx]]"

文字列内の正規表現を置換テキストに置き換えます。

出典:


"[ce]" />
"([ce])" "\\1 " />

出力:

アブフギク
abc de fghijk

出典:


「.$」 「」 />
".$" "" 単一行 = false />

([ac])| [0-9]
" ":\\1:" reflags=x />

出力:

abcdefghijk
abcdefghijk
abcdefghij
abcdefghij
abcdefghij
abcdefghij
:a::b::c:defghijk
:a::b::c:defghijk
:a::b::c:defghijk

· 変数「S」の置換

"名前" "正規表現" "[交換]" "[大文字小文字を区別しない=true]" "[一行表記=true|false]"
"[reflags=[imsx]]"

変数コンテンツ内で置換を実行します。

· 「S」に一致

"弦" "正規表現" "[caseless=true]" "[singleline=true|false]" "[reflags=[imsx]]"
"[アクション=レポート|抽出|削除|開始位置|終了位置|長さ]"

「アクション=レポート」
文字列に正規表現が含まれている場合は「true」を出力します。

「アクション=抽出」
文字列内の正規表現に一致する表現を出力します。

「アクション=削除」
文字列内の正規表現に一致する表現を除いた文字列を出力します。

「アクション=開始位置」
文字列内の正規表現に一致する表現の最初の文字を出力します。
一致した場合は「-1」を返します。

「アクション=終了位置」
文字列内の正規表現に一致する最後の文字を出力します。
一致した場合は「-1」を返します。

「アクション=長さ」
文字列内の正規表現に一致する表現の長さを出力します。

出典:

1:
2:
3:
4:
5:
6:

出力:

1:真
2:cde
3:abfghijk
4:2
5:5
6:3

配列
自律的AI mp4h 文字列配列は簡単に扱えます。変数は単一の要素として扱うことができます。
値または改行で区切られた文字列のリストとして渡すことができます。

<set-var digits="0
1
2
3" />

その内容または次のいずれかの値を表示できます。

出典:




出力:

0
1
2
3
2

· 配列サイズ "S"

"名前"

変数内に存在する行数である配列サイズを返します。

出典:



出力:

4

· 配列プッシュ "S"

"名前" "価値"

配列の末尾に値(値に改行が含まれている場合は複数の値)を追加します。

出典:




出力:

0
1
2
3
10
11
12

· 配列ポップ「S」

"名前"

配列のトップレベルの値を削除し、この文字列を返します。

· 配列トップ値 "S"

"名前"

配列の最後のエントリを出力します。

出典:



出力:

12

· 配列に一意の要素を追加する "S"

"名前" "価値" "[caseless=true]"

この変数に値がまだ存在しない場合は、配列の末尾に値を追加します。

出典:




出力:

0
1
2
3
10
11
12

「大文字と小文字を区別しない=true」
比較では大文字と小文字は区別されません。

· 配列連結 "S"

"名前1 "[名前2] ... "

すべての配列を最初の配列に連結します。

出典:





出力:

foo
バー

· 配列メンバー "S"

"名前" "価値" "[caseless=true]"

値が配列に含まれている場合はそのインデックスを返し、含まれていない場合は -1 を返します。

出典:



出力:

5

「大文字と小文字を区別しない=true」
比較では大文字と小文字は区別されません。

· 配列シフト "S"

"名前" "オフセット" "[開始=始める]"

配列をシフトします。オフセットが負の場合、0未満のインデックスは失われます。オフセットが正の場合、
最初のインデックスは空の文字列で埋められます。

出典:


今:

そして:

出力:

今:

0
1
2
3
10
11
12

そして:2
3
10
11
12

"開始=始める"
シフトの原点を変更します (デフォルトは 0)。

出典:



出力:

2
3
12

· ソート「S」

"名前" "[caseless=true]" "[numeric=true]" "[sortorder=reverse]"

配列の行をその場で並べ替えます。デフォルトでは、行はアルファベット順に並べ替えられます。

出典:



出力:

12
2
3

「大文字と小文字を区別しない=true」
比較では大文字と小文字は区別されません。

「数値=真」
行を数値順に並べ替える

出典:



出力:

2
3
12

「ソート順序=逆」
逆順の並べ替え

出典:

;;;


出力:

12
3
2

数の 演算子
これらの演算子は基本的な算術演算を実行します。すべてのオペランドが整数の場合
結果も整数になりますが、そうでない場合は浮動小数点数になります。これらの演算子は説明の必要がないほど分かりやすいです。

· 「S」を追加

"番号1 "番号2 "[番号3] ... "

· 「S」を引く

"番号1 "番号2 "[番号3] ... "

· 「S」を掛ける

"番号1 "番号2 "[番号3] ... "

· 「S」を割る

"番号1 "番号2 "[番号3] ... "

· 最小「S」

"番号1 "番号2 "[番号3] ... "

· 最大「S」

"番号1 "番号2 "[番号3] ... "

出典:




出力:

21
21.000000

出典:


/>" /> />



出力:

720

· モジュロ「S」

"番号1 "番号2

上記の関数とは異なり、モジュロ関数は2つ以上の引数を扱うことができず、
これらの引数は整数でなければなりません。

出典:



出力:

2

これらの関数は2つの数値を比較し、比較が真であれば「true」を返します。
引数の 1 つが数値でない場合、比較は false になります。

· gt "S"

"番号1 "番号2

最初の引数が 2 番目の引数より大きい場合は「true」を返します。

· lt "S"

"番号1 "番号2

最初の引数が 2 番目の引数より小さい場合は "true" を返します。

· 等価「S」

"番号1 "番号2

引数が等しい場合は「true」を返します。

· neq "S"

"番号1 "番号2

引数が等しくない場合は「true」を返します。

リレーショナル 演算子
· 「S」ではない

"弦"

文字列が空の場合は「true」を返し、それ以外の場合は空の文字列を返します。

· および「S」

"弦" "[ストリング] ... "

すべての引数が空でない場合は最後の引数を返します。

· または「S」

"弦" "[ストリング] ... "

最初の空でない引数を返します。

Flow 機能
· グループ「S」「V」

"表現" "[表現] ... " "[セパレーター=弦]"

この関数は複数の文を1つにまとめます。いくつかの例を見てみましょう。
以下に条件付き操作を示します。

このマクロのあまり直感的ではないが非常に便利な使い方は、次のような場合に改行を保存することです。
「whitespace=delete」が指定されています。

出典:


上のテキスト
3行なし
空白=削除


上のテキスト
3行目
空白=削除


<group "Text on
3行目
空白文字=削除" />





出力:

上のテキスト
3行なし
空白=削除

3行のテキスト(空白あり)=削除
上のテキスト
3行目
空白=削除

「text2」では改行が抑制されており、結果が望ましくないことに注意してください。

· 化合物

"表現" "[表現] ... " "[セパレーター=弦]"

「グループ」に似ていますが、このタグは複雑です。

「セパレーター=弦"
デフォルトでは引数は脇に置かれます。この属性は挿入される区切り文字を定義します。
引数の間。

· 「S」を分離する

"表現"

「グループ」と逆の働きをします。その引数は、
別のコマンドによって処理されます。

· noexpand "S""V"

"指図" "[指図] ... "

引数を展開せずに出力します。「expand」オプションがない限り、引数は展開されません。
タグは、この「noexpand」タグをキャンセルするために使用されます。

· 「S」を展開

"指図" "[指図] ... "

「noexpand」タグをキャンセルします。

出典:

バー=LT=/define-tag>" "=LT=" "<" />

quux=LT=/define-tag>" "=LT="
「 「 />」


出力:

バー
クックス
バー

· 「S」「V」の場合

"弦" "then節 "[else節]"

文字列が空でない場合は2番目の引数が評価され、そうでない場合は3番目の引数が評価されます。
評価されました。

出典:







出力:

はい
いいえ

· ifeq "S""V"

"文字列1" "文字列2" "then節 "[else節]"

最初の2つの引数が同一の文字列の場合、3番目の引数が評価され、そうでない場合は4番目の引数が評価される。
引数が評価されます。

· ifneq "S""V"

"文字列1" "文字列2" "then節 "[else節]"

最初の2つの引数が同一の文字列でない場合、3番目の引数が評価されます。
4 番目の引数が評価されます。

・ いつ

"弦"

引数が空でない場合は、その本体が評価されます。

· 「V」の場合

"条件"

条件が真である間、ボディ機能が評価されます。

出典:


0 />>;;;
;;;


出力:

10 9 8 7 6 5 4 3 2 1

· foreach

"変数" "配列" "[開始=始める]" "[終了=終わり]" "[ステップ=パス]"

このマクロはPerlの「foreach」マクロに似ています。変数は配列の値をループします。
関数本体は各値に対して評価されます。

最初の引数は汎用変数名、2 番目の引数は配列の名前です。

出典:

<set-var x="1\n2\n3\n4\n5\n6" />


出力:

1 2 3 4 5 6

"開始=始める"
最初のインデックスをスキップします。

出典:

<set-var x="1\n2\n3\n4\n5\n6" />


出力:

4 5 6

"終了=終わり"
インデックスがその値に達すると停止します。

出典:

<set-var x="1\n2\n3\n4\n5\n6" />


出力:

1 2 3

"ステップ=ステップ"
インデックスの増分を変更します(デフォルトは1)。ステップが負の場合、配列は
逆順。

出典:

<set-var x="1\n2\n3\n4\n5\n6" />



出力:

1 3 5
6 4 2

· var-case "S""V"

"変数1=値1 アクション1 "[変数2=値2 action2 ... "

このコマンドは、単一の命令で複数の条件を実行します。

出典:



<var-case
x=1 × />
x=2 × />
y=1 y />
y=2 y />
/>




出力:

x1y0

Y-1

· ブレーク「S」

最も内側の「while」ループを中断します。

出典:


0 />>;;;
;;;
5 />;;;


出力:

+10 9 8 7 6

· "S"を返す

"[上=数字]" "弦"

このコマンドは、最も内側のマクロを直ちに終了します。メッセージを挿入することもできます。
しかし、このマクロはトークンの解析を変更するため、一部の環境では非常に危険になる可能性があります。
状況。

「上=番号"
この属性は、何レベルまで抜けなければならないかを決定します。デフォルトでは1レベルのみ
レベルはスキップされます。null値を指定すると、現在のすべてのマクロが終了します。負の値を指定すると、
値は同じことを実行し、現在のファイルの処理を停止します。

· 警告「S」

"弦"

標準エラーに警告を出力します。

· 出口「S」

"[ステータス=[rc]" "[メッセージ=弦]"

プログラムを直ちに終了します。

"メッセージ=弦"
標準エラーにメッセージを出力します。

「ステータス=rc"
プログラムによって返されるコードを選択します (デフォルトは -1)。

· ファイルの終わり

これは特別なコマンドです。その内容は保存され、入力終了後に展開されます。

File 機能
· ディレクトリの内容 "S"

"dirname" "[一致=正規表現]"

指定されたディレクトリに含まれるファイルの改行区切りリストを返します。

出典:



出力:

mp4h.mp4h

· 実パス「S」

"patname=パス名"

すべてのシンボリックリンク、余分な「/」文字、および参照を解決します。 /./   /../ in
パス名を絶対パス名に展開します。最後の要素を除くすべての要素は
実パスが呼び出されるときには、パス名が存在している必要があります。

このタグは、ファイル名またはディレクトリ名が同一かどうかを比較する場合に特に便利です。

出典:

/>

出力:

/build/mp4h-b0pRnc/mp4h-1.3.1/doc/mp4h.mp4h

· ファイルが存在する "S"

"ファイル名"

ファイルが存在する場合は「true」を返します。

· ファイルプロパティの取得 "S"

"ファイル名"

このファイルに関する情報の配列を返します。これらの情報は、サイズ、タイプ、ctime、
mtime、atime、所有者およびグループ。

出典:

/>

出力:

68603
FILE
1450038844
1450038844
1450038844
ルート
ルート

· 「S」を含む

"ファイル=ファイル名 | command=コマンドライン" "[alt=アクション]" "[逐語的=真]"

「file」属性が指定されている場合は、ファイルの内容をファイルシステムに挿入します。
システムコマンドの実行からの出力(「command」属性が指定されている場合)
入力ストリーム。後方互換性のため、「ファイル」も「コマンド」も
属性が指定されている場合、最初の引数はインクルードするファイルとして扱われます。

"ファイル=ファイル名"
指定されたファイルが読み込まれ、入力ストリームに挿入されます。この属性は
コマンド属性と組み合わせます。

ファイルは最初に現在のディレクトリで検索され、次に指定されたディレクトリで検索されます。
コマンドラインで「-I」オプションを指定し、「MP4HLIB」にリストされているディレクトリの次に
環境変数(4より前のバージョンでは「MP1.3HPATH」でした)、および最後に
コンパイル時の場所(「/usr/local/lib/mp4h/1.3.1:/usr/local/share/mp4h」)の下に
デフォルト)。

「コマンド=コマンドライン"
指定されたコマンドラインはオペレーティングシステム上で実行され、その出力は次のようになります。
入力ストリームに挿入されます。この属性はファイルと組み合わせることはできません。
属性。

指定されたコマンドラインは、 ポペン(3)標準Cライブラリルーチン。
コマンドは標準のシステムシェルを使用して実行されます。これはPosix準拠のシステムでは
is shとします。

"alt=アクション"
ファイルが見つからない場合は、この代替アクションが処理されます。この属性が設定されていない場合
ファイルが見つからない場合はエラーが発生します。この属性は、
コマンド属性が指定されます。

「逐語的=真」
ファイルの内容は展開されずに取り込まれます。これは、 m4 逆流させる
ファイル名を引数として取るマクロ。

出典:



出力:

Linux

· 「S」を使用する

"名前=パッケージ"

パッケージ ファイルから定義を読み込みます。

・ コメント

このタグは何も行わず、その本体は単に破棄されます。

· エンドコメントを "S" に設定する

"[弦]"

コメント文字を変更します。

· 引用符 "S"

"[string 弦]" "[表示=可視]"

デフォルトでは、「<@[」と「]@">」の間のすべての文字は解析されずに読み込まれます。
引数なしで呼び出された場合、このマクロはこの機能を抑制します。2つの引数で呼び出された場合、
引数として、開始区切り文字と終了区切り文字を再定義します。開始区切り文字は左から始まる必要があります。
山括弧で囲み、終了区切り文字は直角括弧で終わる必要があります。

「表示=可視」
区切り文字も出力に書き込まれます。

転用 機能
転換は一時的に出力を節約する方法です。 mp4h いつでも
一時ファイルに転送され、出力ストリームに再挿入され、再び転送される
しばらく経って。

番号付き迂回は0からカウントされ、迂回番号0は通常の出力である。
ストリーム。同時転送の数は、主にメモリ使用量によって制限されます。
それらを説明すると、 mp4h 気晴らしを記憶に残そうとするが、限界がある
全ての迂回を合計したメモリ容量の合計。この最大値が
超過しそうになると、一時ファイルが開かれ、最大のデータが格納されます。
転換はまだ記憶に残っており、この記憶を他の転換のために解放する。つまり、
理論的には、利用可能な数によって転用の回数が制限される可能性がある。
ファイル記述子。

· 「S」を迂回する

"[ divnum=転送番号 ]"

このタグを使用して出力が転送されます。転送番号は、使用される転送番号です。
divnum属性が省略されている場合、diversion-numberは0とみなされます。出力が
存在しない転用先に転用された場合、それは単に破棄されます。これは、
不要な出力を抑制します。以下の例を参照してください。

すべてが mp4h 入力が処理されると、既存の迂回はすべて自動的に
番号順に、転用されず。

同じ引数でdivertを複数回呼び出しても、前回のdivertは上書きされません。
テキストですが、それに追加します。

出典:


これはどこにも送信されません...

これが出力です。

出力:

これはどこにも送信されません...

これが出力です。

· 迂回 "S"

"[ divnum=転送番号 ]"

このタグは、指定された迂回で保存された迂回テキストを明示的に迂回解除します。
divnum属性が指定されていない場合、すべての迂回は数値で迂回解除されます。
オーダー。

転用されたテキストが転用解除されると、 mp4hではなく、直接コピーされます
現在の出力。したがって、迂回を迂回に取り戻すことはエラーではありません。

取消 m4 mp4h undivertタグはファイル名を引数として受け付けません。同様に
verbatim="true" 属性を持つ include タグで実現されます。

出典:


このテキストは転用されます。

このテキストは転用されません。


出力:

このテキストは転用されます。

このテキストは転用されません。

· divnum "S"

このタグは、現在の転換の番号に展開されます。

出典:

イニシャル

迂回1:

迂回2:


出力:

イニシャル0

迂回1:XNUMX

迂回2:XNUMX

デバッギング 機能
構造が複雑になるとデバッグが難しくなる場合があります。以下に挙げる関数は
何が問題なのかわからないときにとても便利です。これらの機能はまだ完璧ではありません
将来のリリースでは改善される必要があります。

· 関数定義 "S"

"名前"

ユーザー定義マクロの置換テキストを出力します。例えば、
このドキュメントのすべての例を生成するには

出典:



出力:


「 ">" /> [^;\n]*\n[ \t]*" "" /> $" "" reflags=m />



出力:



"/>

· デバッグモード "S"

"弦"

このコマンドは「-d」フラグのように動作しますが、動的に変更できます。

· デバッグファイル "S"

"ファイル名"

デバッグメッセージの転送先ファイルを選択します。ファイル名が空の場合、
デバッグメッセージは標準エラーに送り返され、"-"に設定するとこれらのメッセージは
捨てられます。

注意: 処理中のドキュメントにこれらのデバッグ メッセージを印刷する方法はありません。

· デバッグオン「S」

"名前" "[名前] ... "

これらのマクロをトレースすることを宣言します。つまり、これらのマクロに関する情報は「-d」の場合に出力されます。
フラグまたは「debugmode」マクロが使用されます。

· デバッグオフ "S"

"名前" "[名前] ... "

これらのマクロはもうトレースされません。

その他
· __file__ "S"

"[名前]"

引数なしのマクロは現在の入力ファイル名を出力します。引数ありのマクロは
このマクロの今後の呼び出しによって返される文字列を設定します。

· __line__ "S"

"[番号]"

引数なしのマクロは入力ファイルの現在の番号行を出力します。引数ありの場合、
このマクロは、このマクロの今後の呼び出しによって返される数値を設定します。

出典:

これは <__file__/>、行 <__line__/> です。

出力:

これは、./mp4h.mp4h、行 2201 です。

ソースコードをよく見れば、この数字が間違っていることがわかります。実際、
番号行は、この命令を含むブロック全体の終わりです。

· __バージョン__ "S"

のバージョンを印刷します mp4h.

· dnl "S"

改行文字に達するまですべての文字を破棄します。このマクロは、次の文字列が
はコメントであり、コメント文字の値に依存しません。

出典:

これはコメントです
foo
これはコメントです
バー

出力:

foo
バー

· 日付「S」

"[エポック]"

引数で渡されたエポックに基づいてローカル時刻を表示します。引数がない場合は、
現在の現地時間が印刷されます。

"時間"
エポックタイムの指定。

"フォーマット"
フォーマット仕様は、 ストラフタイム(3)Cライブラリルーチン。

出典:


/> />
/>
" format="%Y-%m-%d %H:%M:%S" />

出力:

13年20月34日日曜日 04:2015:XNUMX

13年20月34日日曜日 04:2015:XNUMX
2015-12-13 20:34:04

· タイマー「S」

このマクロを最後に呼び出してから経過した時間を出力します。出力される値は、
クロックの刻み具合によって、CPU に依存します。

出典:


解析開始からのクロックティック数
&mp4h; によるこの例は次のとおりです。


出力:

ユーザー9
システム 0

解析開始からのクロックティック数
この例は mp4h 次のとおりです。
ユーザー9
システム 0

· mp4h-l10n "S"

"名前=値"

ロケール固有の変数を設定します。デフォルトでは、ポータブルな「C」ロケールが選択されます。
ロケールの名前はプラットフォームによって異なるため、システムを参照する必要があります。
システムに適した値を見つけるには、ドキュメントを参照してください。

· mp4h-出力基数 "S"

"番号"

小数点以下の桁数を設定して浮動小数点数の出力形式を変更します
ポイント。デフォルトでは、数値は "%6.f" 形式で出力されます。

出典:





出力:

4.600000

4.60

外部 PACKAGES


「include」コマンドで外部ファイルをインクルードすることができます。ファイルは最初に
現在のディレクトリを検索し、次にコマンドラインで「-I」で指定されたディレクトリを検索します。
オプション、"MP4HLIB"環境変数にリストされているディレクトリの次のディレクトリ(以前は
4より前のバージョンでは「MP1.3HPATH」、コンパイル時の場所の最後にあります
(デフォルトでは「/usr/local/lib/mp4h/1.3.1:/usr/local/share/mp4h」)。

パッケージを含めるもう一つの方法は「use」コマンドを使うことです。2つの違いがあります。
「use」と「include」の間には次のような違いがあります。まず、パッケージ名には接尾辞がありません。そして、さらに重要なのは、
パッケージを複数回ロードすることはできません。

MACRO 拡張


この部分はマクロ展開の内部メカニズムを記述する。できるだけ正確で
できるだけ網羅的に記載しますのでご連絡ください。mailto:[メール保護]>" 何かあれば
提案。

基本情報
いくつかの例から始めましょう:

出典:


これは単純なタグです


これは複雑なタグです


身体機能

出力:

これは単純なタグです

これは複雑なタグです

ユーザー定義マクロにはHTMLタグのような属性がある場合があります。これらの属性を扱うには
置換テキストでは、以下の規則が採用されています(主に メタHTML):

· シーケンス %name はコマンド名に置き換えられます。

· 属性は0から番号が付けられます。置換テキストでは、%0は最初の引数に置き換えられます。
%1を2番目に、など。引数の数に制限がないので、%20は
21 番目の引数であり、0 文字が続く XNUMX 番目の引数ではありません。

出典:


%0

<href http://www.gimp.org 「ギンプ」 />

出力:

<a href="/http://www.gimp.org">ギンプ

· シーケンス "%#" は属性の数を出力します。

· シーケンス「%%」は「%」に置き換えられます。これはネストされた定義で役立ちます。

出典:

;;;
外側、# 属性: %#
;;;
inner1、# 属性: %#;;;
;;;
;;;
inner2、# 属性: %%#;;;
;;;





出力:

外側、属性数: 2
inner1、属性数: 2
inner2、属性数: 5

· シーケンス %attributes は、スペースで区切られた属性のリストに置き換えられます。

出典:







<mail1 name="Dr. Foo" mail="[メール保護]"/>

出力:

ドクター・フー
[メール保護]

· シーケンス %body は、複雑なマクロの本体に置き換えられます。

出典:



">%体

<mail2 mail="[メール保護]">



出力:

<a href="/mailto:[メール保護]">



· 上記の2つの形式は修飾子を受け入れます。%Aattributesまたは%Abodyが使用される場合、改行が挿入されます。
分離された属性のリストが印刷されます。

出典:




: 「 />」



<show-attributes name="Dr. Foo" mail="[メール保護]"/>

出力:

%0: name=ドクターフー%1: mail=[メール保護]

· 「A」を「U」に置き換えることで別の形式が得られ、その場合テキストは
置き換えられますが、展開されません。これは、マクロが
「attributes=verbatim」で定義され、そうでない場合は属性が展開される。
交換。

出典:


展開前: %Uattributes
展開後: %attributes


展開前: %Uattributes
展開後: %attributes

そしてここに%attributes
/>
/>

出力:

拡張前:さあ、始めましょう
拡張後:さあ、始めましょう

拡張前:
拡張後:さあ、始めましょう

· 修飾子「A」と「U」は組み合わせることができます。

注意: 入力拡張は メタHTML または mp4h メタHTML it
%xbodyや%qbodyのような他の構成要素を使う必要がある場合もあります。
互換性を向上させる メタHTMLこれらの構成要素は認識され、解釈される
互換性のために提供されているもう1つの機能は、単純な
タグ %body と %attributes は同等です。これらの機能は現在の mp4h バージョン
ただし、将来のリリースでは消えてしまう可能性があります。

Attributes
属性はスペース、タブ、または改行で区切られ、各属性は
有効な mp4h 実体。例えば上記の定義では、「 「はできません
属性は「しかし、これは有効です。

/>

あるいは

/>

これらの例では、「foo」タグには引数が 1 つだけあります。

特定の状況では、複数のステートメントを1つのステートメントにまとめる必要がある。
これは二重引用符または「group」プリミティブを使って行うことができます。例:

<foo "This is the 1st attribute"
/>

注意: HTML とは異なり、この目的では一重引用符を二重引用符に置き換えることはできません。

引数に二重引用符が出現する場合は、バックスラッシュ「\」でエスケープする必要があります。

出典:




出力:

二重引用符 " を含むテキスト

マクロ 評価
マクロの特徴は

・ 名前

· コンテナの状態(単純または複雑)

· 属性が展開されているかどうか

· 関数タイプ(プリミティブまたはユーザー定義マクロ)

· プリミティブの場合はメモリ内の対応するコードのアドレス、ユーザー定義マクロの場合は
置換テキスト

入力時に左山括弧が見つかるまで文字が読み取られます。その後、マクロ名は
読み取られます。その後、このマクロがどのように実行されたかに応じて、属性が読み取られます。
定義されています。このマクロが複雑な場合は、その本体がそのまま読み込まれます。これが終わると、
置換テキスト内の一部の特殊シーケンスは置換されます(%body、%attributes、%0、%1など)。
など)が実行され、結果のテキストは再スキャンのために入力スタックに配置されます。

注意: デフォルトでは、置換の前に属性が評価されます。

タイプライター フォントのテキストを変更する次の例を考えてみましょう。


%体


この定義には大きな欠点があります。

出典:

これは例

出力:

これは例です

内側のタグを削除してください。

最初のアイデアは、補助変数を使って、私たちがまだそのような状態にあるかどうかを知ることです。
環境:




1 " 「 />」
%体
1 " 「 />」



(HTML タグ内のアスタリスクの存在については次のセクションで説明します)。

出典:

これは例

出力:

これは例です

しかし、以下の例のように単純なタグを使用すると、定義が機能しないようです。
これは、属性が置換テキストに配置される前に展開されるためです。

出典:

%属性
「 />」

出力:

これは例です

この問題を防ぐには、属性の拡張を禁止する必要があります。

出典:

;;;
%属性;;;

「 />」

出力:

これは例です

拡張 フラグ
ページにサーバーサイドのスクリプト言語を埋め込む場合、いくつかの問題に直面することになります。
奇妙な問題、例えば

>こんにちは

問題は、どのように mp4h この入力には余分な区切り文字があることをご存知ですか?答えは
それ mp4h 全ての特殊区切り文字を扱えるわけではないので、一部の特殊区切り文字は扱わないようにすべきである。
(ASP、ePerl、PHPなどがあり、カスタマイズ可能なものもあります)。さて、覚えておいてください
それ mp4h はマクロプロセッサであり、XMLパーサーではありません。そのため、マクロとフォーマットに重点を置く必要があります。
入力ファイルを問題なく解析できるように修正します。前の例は
書かれた

">こんにちは

引用符により、内側の直角括弧が "a" タグを閉じることができないためです。

もう一つよくある問題は、開始タグまたは終了タグだけを印刷する必要がある場合です。
例えば、独自のヘッダーとフッターを定義することが非常に望ましいです。




...ここにいくつかの情報を入力してください....








アスタリスクはこれらのタグを疑似シンプルタグとしてマークし、複雑なHTMLであることを意味します。
タグとしてではなく、単純なタグとして使用される mp4h そうしないとタグが適切にネストされないためです。

このアスタリスクは「末尾の星」と呼ばれ、タグ名の末尾に表示されます。

次の JavaScript コードのように、HTML タグが解析できない場合があります。

...
document.write('<*img src="/foo.gif"');
if (text) document.write(' alt="'+text+'"');
document.write('>');
...

「先頭の星」は、左山括弧とタグ名の間にあるアスタリスクで、
このタグが解析されないようにします。

とはいえ、「--expansion」フラグが何のためにあるのかは理解できました。これは、
mp4hによって展開されます。その後に続くのは、
次の値

1 不明なタグを解析しません。
設定されている場合、HTMLタグは解析されません。設定されていない場合、HTMLタグは解析されます。
属性および/または本文が収集されます。

2 不明なタグは単純であると想定されます。
設定すると、HTMLタグはデフォルトでシンプルになります。設定しない場合は、HTMLタグは複雑になります。
デフォルトでは、属性に末尾のスラッシュまたは末尾の星が含まれていない限り、
タグ名の後に続きます(下記参照)。

4 タグ名の末尾に星が付いていると、このタグは単純になりません。
設定されている場合、タグ名の末尾のアスタリスクは特別な効果を持ちません。設定されていない場合は、
HTML タグをシンプルにします。

8 一致しない終了タグは、それ以前の一致しない開始タグをすべて閉じます。
設定すると、不足している終了タグがすべて自動的に挿入されます。設定しない場合は、
一致しない終了タグは破棄され、通常のテキストとして解釈されるため、処理は続行されます。
一致するタグが見つかるまで。

16 バックスラッシュを printf として解釈します。
設定すると、特殊文字以外の文字の前のバックスラッシュが削除されます。設定しない場合は、
保存。

32 タグ属性の末尾のスラッシュを削除します。
設定すると、出力時にタグ属性の末尾のスラッシュを削除します。設定しない場合は、
保存。

64 タグ名の末尾の星を削除しないでください。
設定されている場合、タグ名の末尾のアスタリスクは出力時に保持されます。設定されていない場合は、
除去された。

128 タグ名の先頭の星を削除しないでください。
設定されている場合、タグ名の先頭のアスタリスクは出力時に保持されます。設定されていない場合は、
除去された。

256 タグ属性の末尾のスラッシュの前にスペースを追加しないでください
デフォルトでは、タグ属性の末尾のスラッシュの前にスペースが挿入されます。設定すると、
先頭にスペースは付加されません。

1024 不正なネストされたタグに関する警告を抑制します。
設定すると、不適切なネストタグに関する警告は表示されません。設定しない場合は、
標準エラーに出力されます。

2048 末尾のスラッシュがないという警告を抑制します。
設定すると、末尾のスラッシュがないという警告は表示されません。設定しない場合は、
標準エラーに出力されます。

ラン

mp4h -h

デフォルト値を検索します。現在の値はHTML構文と一致しており、
XHTML 構文がより身近になります。

onworks.net サービスを使用して mp4h をオンラインで使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad




×
Advertisement
❤️ここでショッピング、予約、購入してください。料金はかかりません。これにより、サービスが無料で維持されます。