ラウンジ(兼FAQ掲示板)

Hyper_Mailのメッセージについて
過去ログ NO.1116136250
□ 相馬 [2005年05月14日17時57分]
Hyper_Mailを設置させていただきました
メッセージ送信の時に下記の文字を入力すると
メッセージが下記のところで切れてしまいます

「"」

例:あいうえお"かきくけこ

届くメール:あいうえお

のようになってしまいます
何か対処方法ないでしょうか?
□ NXer [2005年05月15日14時50分]

はじめまして。NXerです。

>例:あいうえお"かきくけこ

という文字列でダブルクオート(wq)以降「かきくけこ」が
無視される現象ですが、日本語ベースなら全角のwqを使い
問題は発生しないと思います。
wqとしての入力前に半角/全角を切り替え、入力後また全角
仮名漢字変換に戻されていますね。(どうして一貫して全角
文字と記号を使わないのか、などの個人的な好みはここでは
問題としません。)

hyper_mail開発の時点で主たるユーザーを日本語使用者と想
定されていると思います。英数文字を主とする半角英数と記号
を使った場合、記号(!wq#$%&'()=など)のうち、wqと\記号などは
スクリプト言語perlでは、今回のような厄介な問題を内包してい
ます。

以下の目的は、----------------------------
とにかくスクリプトの基本設定を変えないでwqは代替記号|を
使い、内部変換してwqを表示させる、ことだけを実現するスク
リプト変更です。

その1)まず入力例です。--------------------
ただし、wqの代わりに半角|(シフト+\キー)を使っています。
perlではwqが文字列の始まりと終わりを示す記号に使われて
いるため、面倒ですが、この解決法を考えました。もちろん
もっと簡潔で合理的(エレガント)な解法はあるはずです。

その1)日本語入力例。日本語に直接入力の|を使ってみました。
----------------------
日本語にもwqを使えるか。
小説|赤い疑惑|は新進作家
|すえの ほん|さんの作品。
|社会派|から|純愛派|に
|転向|?謎を秘めた|傑作|。
--------------------------送信確認表示結果
日本語にもwqを使えるか。
小説"赤い疑惑"は新進作家
"すえの ほん"さんの作品。
"社会派"から"純愛派"に
"転向"?謎を秘めた"傑作"。
-------------------------

参考までに英語の例。タイトルにも応用しています。

------------------------英数文字入力例 wq→|
メールのタイトル
|what you can do|
●メッセージ
|what you can do|with a double quote
and |what you cannot do| with it
when you write a title and message
in |perl|.

----------------送信確認画面表示例
■■■ Hyper_Mail ■■■

お名前 NXer
メールアドレス zz@zz
メールのタイトル "what you can do"
重要度 3
メッセージ形式 TEXT
メッセージ "what you can do"with a double quote
and "what you cannot do" with it
when you write a title and message
in "perl".
----------------------------------------

その2)wqの代わりに|を使う場合の変更点
-----------------------------------------行番号はその付近
177 ($a,$name,$value) = split (/\"/,$_); #既存
#★ |を"と交換する
$a,$value=~ s/\|/"/g;

296 $in{'mess'} =~ s/<\/body>//ig; #既存
#★ |を"と交換する
$mess =~ s/\|/"/g;

377 $mess = $in{'mess'};#既存
# ★ double quote交換
$in{'mess'} =~ s/\|/"/g;

450 $mess =~ s/\n/<br>/g;#既存
# ★ double quote交換
$mess =~ s/\|/"/g;
------------------------------------
解説:~ s/\|/"/g;
置換関数~sを使い/\|/をwqに変換、文字列中の全て(g)
ということです。メッセージ文中では何度も使ってみました。

なお、日本語の正規の表現基準では、発言は「、書名は『など
を使うのが本来のところがあるかもしれません。

hyper_mailで記事を集め、雑誌、本やメルマガの本格的な編集
をお考えの場合は、日/英語の編集方針に従ってください。
また、全角半角英数文字記号の混在のために、行揃えではジャ
スティフィケーションを使う必要があるかもしれません。
あくまでもNXerがスクリプト改造のために考えた戯れ(汗)です。
お断り、当方はHMを運用していませんから、全ての機能
の検証はできていません。

*****************************愚観五行******
当方は、キー配列を換える等して指の負担を減らしたいと
考えています。wqの代わりに、hyper_mailに限り、半角の
|を使うことは、慣れれば、苦になりません。限定された
理解ある利用者ならば、説明文を挿入すれば、多分、多用
愛用していただけるのでは。
一定時間書込が無かったので過去ログに移りました

suepon.com | CGI作成/CGI制作 | JavaScript | ドメイン検索 | バナー自動作成 | Google ダンスツール | 松浦亜弥 | H.P.memo | パソコン | ネイル

Copyright (C) 2002 - 2009 suepon , All rights reserved. Powered by CGI Script Market.