WIKIWIKIユーザー助け合い掲示板

整形用記号について

6 コメント
views
4 フォロー

相談というより報告なのですが、
下記のケースで、以前は整形用記号( ' , [ , * など)をそのまま表示できていたと思う(たぶん)のですが、現在は整形用記号として認識されてしまうみたいです。

該当ケース
(1)数値参照文字列(10進数)で整形用記号を入力した場合
 例)''文字列'' → 以前は「''文字列''」と表示されていたが、現在は「文字列」と表示される
(2)定義リストの「定義語」内に整形用記号を入力した場合
 例):''定義語''|説明文 → 定義語の部分が、以前は「''定義語''」と表示されていたが、現在は「定義語」と表示される

回避策
数値参照文字(16進数)を使用する

上記以外にも発生ケースや回避策がありましたらコメントお願いします。

mochi
作成: 2021/03/28 (日) 12:44:45
通報 ...
1
mochi 2021/03/28 (日) 13:45:55 fdae8@829cb

追記
数値参照文字列は、ページの更新時にソース自体が復号化されてしまっているようです。
16進数でも ( , ) , ' などは同様の挙動になるのでダメそうです…

2
名前なし 2021/03/30 (火) 01:23:47 修正 07856@c0777

以前から似たような文字の「〜」(〜)が「~」(~)に置換されてしまう現象があり、わざわざ数値参照文字で書いてたのですが、
〜が更新すると文字に置換されてしまうことで編集を繰り返すと最終的に「~」(~)に変わってしまいました。
回避策の16進で記述すると大丈夫なようです。
回避策の情報ありがとうございました。

3
名前なし 2021/03/31 (水) 19:23:40 07856@c0777 >> 2

3/31から16進で数値参照文字を記述しても10進に変換されるようになって回避策が使えなくなってしまいました。
困ったな・・・

5

先ほど確認したところ、数値参照文字列の復号化は解消されているようです。コメントありがとうございました。

4

pukiwikiに解釈されないようにすればいいので、以下のようなやり方があります。
あまり真っ当なやり方ではありませんが。

  • インライン型プラグインに取り込んでエスケープする。

    &color(x){''};文字列&color(x){''};
    

    xは明示的に色を指定してもいいし、ありえない文字を書いて色解釈させなくても良い。

  • インライン型プラグインで分断する。

    '&null{};'文字列'&null{};'
    

    他に&aname(x);などでも。
    ただ他人が見ると意味不明な書き方に見える。

  • 行頭解釈されないように他の文字でエスケープする。

    &null{};*文字列
    �*文字列 (文字化けする環境もあるかも)
    ​*文字列 (ゼロ幅スペース、スペースの実体はある)
    

数値参照が置き換わってしまうのは、表示環境の差異問題の対策かもしれません。
4月からレスポンシブデザインに変えていくようですから、特定の文字を使えないような対策が着々と進められてるのかも。
&#12316などは検索すると問題事例が出てきます。

6

提案いただいた内容で回避できました。ありがとうございます。