WikiChree.COM 新規   編集   添付   管理  



トップ   編集 編集〔GUI〕 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン

Pkript/API/グローバル関数 の変更点

#author("2026-08-31T22:04:51+09:00","default:guide","guide")
* Pkript/API/グローバル関数 [#g08934eb]
#author("2026-09-04T00:05:49+09:00","default:mcp","bot-mcp")
* Pkript/API/グローバル関数 [#xef6d495]

グローバルスコープで直接呼び出せる関数。

** リファレンス [#g1b2f4a9]
** リファレンス [#t101c7e3]

*** htmlsc(str) [#t4fe1251]
*** htmlsc(str) [#o1b28cf3]

#pkript(highlight){{
#highlight{{
htmlsc(str)
}}

- str: String

戻り値: String: & < > " ' を HTML エンティティに変換した文字列。
戻り値: String: &amp; &lt; &gt; " ' を HTML エンティティに変換した文字列。

JSX の {} 内は自動エスケープのため、htmlsc() を重ねると二重エスケープになる。

*** 型変換 [#d7c0c1ef]
*** 型変換 [#r18fadc9]

|~関数|~戻り値|~説明|h
|String(val)|String|任意の値を文字列に変換。null は空文字列|
|Number(val)|Number|文字列を数値に変換|
|Number(val)|Number|文字列を数値に変換。数値でない文字列はエラー|
|Boolean(val)|Boolean|任意の値を真偽値に変換|
|parseInt(str, [radix])|Number(変換できなければ NaN)|先頭から読める分だけ整数として読む|
|parseFloat(str)|Number(変換できなければ NaN)|先頭から読める分だけ小数として読む|
|isNaN(val)|Boolean|数値に変換できないか|
|isFinite(val)|Boolean|有限の数値か|

*** 可変長引数 [#fa640f0b]
Number() はフォームやページから来た文字列に対して厳しすぎることがある。"12px" のような値を扱うときは parseInt() / parseFloat() を使う。

- parseInt() は読める桁だけを読み、残りは捨てる。1文字も読めなければ NaN
- radix は 2〜36。省略時は10進数("08" は 8)。"0x" で始まる文字列は16進数として読む
- isNaN() / isFinite() は Number() と同じ読み方で変換してから判定する。isNaN("12px") は true

*** 定数 [#z953b4f8]

|~名前|~説明|h
|NaN|数値でないことを表す値。NaN === NaN は false なので、判定には isNaN() を使う|
|Infinity|無限大。-Infinity は 0 - Infinity と書く|

*** 可変長引数 [#ccb968fc]

|~関数|~戻り値|~説明|h
|func_get_args()|Array|全引数の配列|
|func_num_args()|Number|引数の個数|
|func_get_arg(n)|any|n番目の引数(0始まり)|

エントリポイントに引数名を書かずに使える。PHPプラグインとの互換性のために提供されている。

*** PHPプラグイン互換エイリアス [#i1888ff4]
*** PHPプラグイン互換エイリアス [#a2eee3e2]

対応するメソッドが存在する場合はそちらを使う。

|~関数|~対応するメソッド|h
|is_page(page)|wiki.exists(page)|
|make_pagelink(page, [label])|wiki.link(page, label)|
|convert_html(text)|wiki.convert(text)|
|strip_bracket(str)|wiki.stripBracket(str)|
|encode(str) / decode(str)|wiki.encode(str) / wiki.decode(str)|
|get_source(page)|wiki.source(page)|
|get_existpages([prefix])|wiki.pages(prefix)|
|get_filetime(page)|wiki.time(page)|
|is_freeze(page)|wiki.isFrozen(page)|
|format_date(t, [paren])|date.format(t, paren)|


** 使用法 [#c93e07e6]
** 使用法 [#g848ad73]

*** 可変長引数を受け取る [#lf6ccb82]
*** 可変長引数を受け取る [#tea4e909]

#pkript(highlight){{
#highlight{{
function plugin_hello_convert() {
    const args = func_get_args();
    return "<p>" + htmlsc(args[0] || "World") + "</p>";
}
}}