
お詳しいかたお願いします。
例えば『新商品α』という文字をhtmlに書きます時には『新商品α』と書けば
良いと思いますので、元記事をhtml用に変換しますPerlプログラムを考え中です。
そこで、変換文字が1つだけの場合には
$data =~ s/α/α/ ; (検証していないので違っているかもしれません)
と書けば良いのかもしれませんが、αもβもγもと大量にある場合、何行も書いては
いられませんので
@jittaisannsyou = (α , β , γ , ……)
として配列に入れてしまって、もっと簡単な記述で置換したいと思っています。
しかし、方法がわかりません…
ギリシャ文字や記号など、大量に実体参照変換します方法をご存じのかた教えて
ください。
No.1ベストアンサー
- 回答日時:
とりあえず、ハッシュに入れてそのkeysでループさせるのが手っ取り早いかと思います。
%character_refs = (
"α" => "α",
"β" => "β",
"γ" => "γ",
"δ" => "δ",
);
$data = "TESTαβγδTEST";
foreach(keys %character_refs)
{
$data =~ s/$_/$character_refs{$_}/g;
}
print $data;
ありがとうございます。
Perlと書かせて戴きましたけれど、実運用ではCGIでしたので
"α" => "α",
を工夫して
"α" => "α",
として画面出力させることが出来ました。
No.3
- 回答日時:
No.2
- 回答日時:
%entities = (
'α' => 'alpha',
'β' => 'beta',
...
);
foreach $c (keys %entities) {
$data =~ s/$c/&$entities{$c};/g;
}
ハッシュ %entities ですが、一から全て用意するのは面倒なので、以下のように手間を省いては如何でしょうか
1. HTML仕様書から実体参照のルール一覧 JSON ファイルを取得
https://html.spec.whatwg.org/entities.json
2. ルール一覧 JSON をハッシュ初期化構文に変換する perl スクリプトを用意
3. 変換したハッシュ構文から、必要な部分だけ抜き出し編集
ありがとうございます。
リストは毎回参照させて戴いていますサイトさんからExcelにコピペして
編集してしまいました。
SJISとUTF8問題も平行して流れていまして解決まで時間かかってしまい
ましたけれど、何とかカタチになりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
まったく同じファイルのハッシ...
-
正規表現を使ってコードを短く...
-
チェックデジットについて
-
英語でのシャープとコメの呼び...
-
多次元連想配列の削除
-
短いハッシュの作り方
-
ハッシュ値によるファイルの同...
-
UWSCの終了の仕方
-
CSVファイルの特定の行だけを読...
-
乱数の桁数指定、または範囲指定。
-
画面を強制的に再描画させる方法
-
VBA for i=1 to lastrow
-
VBAでの一時停止と再開の方法
-
ループフリー
-
DOSコマンドのループ内のTIMEコ...
-
VBのReturnの使い方
-
Escキーを押すと、中断する時と...
-
テキストボックスの名前に変数...
-
vb.netです。2次元配列の要素を...
-
Strawberry Perl for Windows ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハッシュ検索はなぜ速い
-
一意(ユニーク)かつ、ソート...
-
文字列を変数名として扱う方法
-
列挙型と連想配列の違いを教え...
-
短いハッシュの作り方
-
英語でのシャープとコメの呼び...
-
ハッシュ値が一致したデータは...
-
まったく同じファイルのハッシ...
-
*(アスタリスク)の意味
-
ハッシュ値によるファイルの同...
-
ハッシュのハッシュを実現したい。
-
ハッシュリストって単にハッシ...
-
チェックデジットについて
-
ハッシュマーク以降のアドレス取得
-
VBAにハッシュ関数はないのです...
-
Perlのサブルーチンの引数に配...
-
文字列をハッシュにしなければ...
-
重複ファイルを削除したいので...
-
多次元連想配列の削除
-
Perlは戻り値で、ハッシュや配...
おすすめ情報