Namazu-win32-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

シングルクォートを%27にreplaceするには



初めて投稿させていただきます。
よろしくお願いいたします。

namazurcのreplaceでパス中のシングルクォートを
%27に置換出来るでしょうか?
以下の問題、シングルクォートをうまく置換できれば
解決しそうな気がするのですが。


問題の環境は、イントラ内で利用しており
共有ディレクトリ内のファイルをnamazu検索しております。

サーバー:
Win200ProSP4 + anHttp1.42k + activePerl5.6.1.633 + namazu2.0.12
クライアント:
Win98/2K/XP + IE5.5/IE6
という100%windowな環境のため
検索対象のドキュメントは大多数がExcelやWordのファイルです。

どうせ限られたクライアントしか対象としないので
検索結果へのリンク(.xlsや.doc)はIEのなかで参照するのではなく
ファイルに関連付けられたアプリケーション(wordやexcel)で開きたく思い
uri変数の値をVBScriptに渡してWSHで関連付け実行を試みています。

下記HTMLのonClickのところを試行錯誤しています。
【外側をシングルクォートで括ると】
<a href = "vbscript:"
 onclick = 'vbscript:wsh.Run(chr(34)+"${uri}"+chr(34))'>
このとき${uri}にシングルクオートが含まれていると
onclickの値の部分が途中で途切れてしまいます。

【外側を括らない】
<a href = "vbscript:"
 onclick = vbscript:wsh.Run(chr(34)+"${uri}"+chr(34))>
これだとシングルクオートは解決しますが
ファイルパスに半角スペースが含まれると
スクリプトエラー(ファイルが見つからない)となります。

【外側をダブルクォートで括ると】
<a href = "vbscript:"
 onclick = "vbscript:wsh.Run(chr(34)+'${uri}'+chr(34))">
一番最初、このように書いたのですが
VBの中では文字列区切りはダブルクォートしか使えません。
そういえばVBのシングルクォートはコメントアウトでした、、、。

【外も中もダブルクォート?】
<a href = "vbscript:"
 onclick = "vbscript:wsh.Run(chr(34)+"${uri}"+chr(34))">
どっちが外側だか分からない。説明の余地なしですね。


長文になってしまいました。すいません。
どなたかご教示願います。

==================================
        Maruyama Kenjiro
        maruyama_kenjiro@xxxxxxxxxxx
==================================


__________________________________________________
Do You Yahoo!?
http://bb.yahoo.co.jp/