URLから取得した正規表現のリストでpagemodを使用するFirefox拡張機能を作成しています。
var pageMod = require("page-mod");
var Request = require("request").Request;
var hosters = Request({
url: "http://foo.bar/foo",
onComplete: function (response) {
console.log(response.json.urls);
var includeHosters = response.json.urls;
pageMod.PageMod({
include: includeHosters,
contentScriptWhen: "start",
contentScript: '',
onAttach: function onAttach(worker) {
// my code
}
});
}
}).get();
私のサーバーからの応答は次のようになります。
{
"urls": [
"/.*foo.*/",
"/.*bar.*/"
]
}
問題は、正規表現が引用符で囲まれていない場合にのみ機能することです。
これは機能します:
include: [/.*foo.*/, /.*bar.*/],
Thieは機能しません:
include: ["/.*foo.*/", "/.*bar.*/"],
Json では、文字列を引用符で囲む必要があります。
サーバー側では、私はPHPで作業しており、そのような配列に正規表現を持っています:
<?
$regexes = array(".*foo.*",".*bar.*");
echo json_encode(array("urls" => $regexes));
これにより、firefox では処理できない出力が生成されます。
正規表現を Firefox 拡張機能に渡すにはどうすればよいですか?
たぶん、拡張側で str_repl のようなことをする必要がありますか?
しかし、どのように?そして、どうすれば適切に行うことができますか?