Namazu-win32-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: シングルクォートを%27にreplaceするには
- From: Tadamasa Teranishi <yw3t-trns@xxxxxxxxxxxxxxx>
- Date: Wed, 14 Apr 2004 02:34:38 +0900
- X-ml-name: namazu-win32-users-ja
- X-mail-count: 02096
- References: <001a01c42169$4dc07e00$407ca8c0@gold>
寺西です。
maruyama kenjiro wrote:
>
> namazurcのreplaceでパス中のシングルクォートを
> %27に置換出来るでしょうか?
パスの中に1つシングルクォートが入っているのなら
Replace (.*?)'(.*) \1%27\2
パスの中に2つシングルクォートが入っているのなら
Replace (.*?)'(.*?)'(.*) \1%27\2%27\3
というように想定される数分 Replace を用意すれば、できなくもないと
思いますが、あまり現実的ではありません。
# Replace の用途とは異なりますし。
> どうせ限られたクライアントしか対象としないので
> 検索結果へのリンク(.xlsや.doc)はIEのなかで参照するのではなく
> ファイルに関連付けられたアプリケーション(wordやexcel)で開きたく思い
> uri変数の値をVBScriptに渡してWSHで関連付け実行を試みています。
普通にリンクするだけで出来ますが、それではダメなんでしょうか。
# IE の中ではなくて、別ウィンドウで開くのは設定でできたはず。
> 下記HTMLのonClickのところを試行錯誤しています。
> 【外側をシングルクォートで括ると】
> <a href = "vbscript:"
> onclick = 'vbscript:wsh.Run(chr(34)+"${uri}"+chr(34))'>
> このとき${uri}にシングルクオートが含まれていると
> onclickの値の部分が途中で途切れてしまいます。
Namazu では ${uri} を Replace 以外で書き換える機能を今のところ用意
していないので、パスを加工するなら Namazu を改造しないと無理でしょう。
ところで、結局のところ、これは
<a href="#" onclick='vbscript:wsh.Run("xxxxxx")'>
で、xxxxx の中に空白, シングルクォート が入る可能性があるという
ことですね。(ダブルクォートはないわけですよね?)
# ファイルネームを変えるわけにはいかないのでしょうか。
wsh は使っていないので、よく分かりませんが、そもそも、
xxxx のシングルクォートを %27 に置き換えた場合、例えば
<a href="#" onclick='vbscript:wsh.Run("c:\test%27.doc")'>
では、c:\test'.doc を開くことができるのでしょうか?
開くことができるとしても、その場合はパス名に % が含まれる場合には
対応できないのではないでしょうか?
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E