質問箱/3295

カテゴリ
サマリページ名に">"を使いたい
バージョン1.4.6
投稿者やな?
状態保留
投稿日2006-01-12 (木) 02:35:03

質問

ページ名には&#<>が使用できないとのことですが、これらを強制的に使うにはどうすればよいでしょうか。「これらの文字は全角で書けば良い」とか言っている人もいるようですが、英語環境だとどうなるのでしょうか。バックスラッシュ(\)を付けるとか、シングルクォート(')で囲むとかしてみたのですが、全くききませんでした。

あと、似たような話題になるのですが、整形済みの囲い以外の、文章の中でも整形済み(というか、"[["とかが機能しないようにする)にする方法が知りたいです。ヘルプページのソースなんかを見ると改行を使って実現されていますが、あれだと変に半角スペースが入ってしまって嫌な感じです。

回答

  • lib/func.php の is_pagename($str) の $pattern に使用したい文字を追加すればできるんじゃないでしょうか?挙動がどうなるかは分かりませんが。 -- 0? 2006-01-12 (木) 03:08:00
    • 例えば example.com/?Q&A のようにしても表示できますが、 Q%26A とエンコードした方が良いかと思います*1。 # はエンコードしないとアンカー扱いになるのでエンコード必須です。 -- 0? 2006-01-12 (木) 03:09:59
    • 16 進数で -> [[FrontPage]] -- 0? 2006-01-12 (木) 03:11:16
      内容 -> &#x5b;&#x5b;&#x46;&#x72;&#x6f;&#x6e;&#x74;&#x50;&#x61;&#x67;&#x65;&#x5d;&#x5d;
  • ページ名の件はちょっと難しいかもしれません。"[["の件は、[[このように]]すると書けます。 -- teanan 2006-01-12 (木) 03:11:28
  • ページ名に
    [[&#x26;&#x23;&#x3c;&#x3e;]]
    [[&#x26;]]
    [[&#x23;]]
    [[&#x3c;]]
    [[&#x3e;]]
    と書いたら、 [[&#<>]] [[&]] [[#]] [[<]] [[>]] となりました。リンクになりませんが、こういう仕様でしょうか。 リンクになることを期待して、
    [[戦闘妖精・雪風&#x3c;改&#x3e;]]
    と書いたら、リンクにならず、 [[戦闘妖精・雪風<改>]] となってしまいました。-- やな? 2006-01-12 (木) 21:22:33
  • すみません、言い方がまずかったですね。 -- 0? 2006-01-15 (日) 04:47:47
    • エンコードの記述は、外部からリンクを張る場合*2の注意点です。 -- 0? 2006-01-15 (日) 04:48:29
    • 16進数の記述は、“ブラケット([[)が機能しないようにする”の部分に対する返信です。 -- 0? 2006-01-15 (日) 04:48:54
  • 『エンコードの記述は、外部からリンクを張る場合の注意点です』について質問なのですが、リンクを張る方法を示されているということは、『"<"とか">"を含むページを作ること自体は可能であるが、リンクを張る場合は注意が必要だよ』と仰っているのでしょうか。だとしたら、"<"や">"を含む名前でページを生成する方法を教えてもらえませんでしょうか。[新規]を使ってやってみた限りでは、『有効なWikiNameではありません』というエラーメッセージを回避できませんでした。 -- やな? 2006-01-15 (日) 23:48:58
  • is_pagename() で使用している $BracketName が、 lib/init.php にありますので修正すれば可能になります。ただ、“>”はエイリアスで使用する文字列なので、リンクを張るには &sample(page,alias);のようにしてリンクを張ることができるプラグインを用意する必要があるかと思います。 -- 0? 2006-01-16 (月) 04:50:59
    • 本来ならば扱わない文字列を扱うので、可能 というだけで 無保証 ですので (^^; -- 0? 2006-01-16 (月) 04:54:51
  • 一応、それなりに動くようになるところまで持っていったのですが、BracketNameは根本的な仕様で、色々なところに影響があり危険です。とりあえず、綺麗にまとまったらパッチを公開しますね。 -- teanan 2006-01-16 (月) 12:26:11
  • ときにteananさん、AutoAliasNameって$BracketName の影響を受けますか? -- にぶんのに 2006-01-17 (火) 01:11:43
    • get_autolink_pattern()を使っていますので、今回手を入れた部分を通ります( '#' → '\#' 変換のみ)。AutoAliasNameからautoalias.datを生成するときの処理です。他は問題ないと思います・・・たぶん*4 (^^; -- teanan 2006-01-17 (火) 02:48:20

*1 ブラウザによっても挙動は違うでしょうが
*2 ブラウザのアドレスバー*3に入力・表示される文字列
*3 このページであれば http://pukiwiki.sourceforge.jp/?%E8%B3%AA%E5%95%8F%E7%AE%B13%2F295
*4 動かしていないので、なんとも・・・

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-04-15 (木) 16:24:01
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.569 sec.

OSDN