問題タブ [quoting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shell - sed/shell で < と > をエスケープする
sed で「<」および「>」文字をエスケープするにはどうすればよいですか。
タグ間のテキストを置き換える必要がある xml ファイルがいくつかあります。「>」および「<」文字をエスケープするにはどうすればよいですか。
> と < の問題は、シェルで出力をファイルにリダイレクトするという特別な意味があることです。したがって、バックスラッシュは機能しません。
arrays - KSHスクリプト:値がコンマをエスケープしたときに「,」で分割する方法は?
名前と値のペアで構成されるファイルを処理するための KSH スクリプトを作成しようとしています。
形式は次のとおりです。
私が書くとしましょう:
これにより、2 番目の名前と値のペアが簡単に得られます。ここで、値にカンマを含めることができるようにタスクが拡張されたとします。次のようにエスケープする必要があります。
「読み取り」はすべての引用符を取り除き、配列の2番目の要素は「NAME2 VALUE2_1」になるため、明らかに、私のコードは機能しなくなりました。
「読み取り -A 配列」を持たない古い ksh で立ち往生しています。「read -r」と「eval set -A ....」でさまざまなトリックを試しましたが、役に立ちませんでした。「read nvl1 nvl2 nvl3」を使用して読み取り内でアンエスケープと分割を行うことはできません。これは、各行に名前と値のペアがいくつあるかを事前に知らないためです。
誰かが私のために役立つトリックを持っていますか?
PS Perl、Python、さらには awk でこれを行ったことがあることを知っています。ただし、kshで実行する必要があります(...または試してみてください;)
jsp - \\\\$ は jsp テンプレート データで \$ に変換されます
JSP コードに奇妙な点がありました。二重のバックスラッシュの後にドル記号またはパーセント記号が続くと、単一のバックスラッシュ (プラス記号) に変換されるようです。
つまり、次の JSP です。
次のようにレンダリングされます。
JDK 1.6.0_02 と Apache Tomcat 5.5.23 および 6.0.16 (2 台のマシン) を使用しています。
これは Tomcat のバグですか? JDK? それとも、JSP 仕様のあいまいなオプションに準拠していますか? 仕様を調べてみましたが、有用なものは見つかりませんでした。
回避策はかなり簡単です。バグがある場合に備えて、バグを報告すると思いました。
編集:へー、stackoverflowもバックスラッシュをマングルします
linux - bash / 標準の Linux コマンドのみを使用して、文字列内の一重引用符と二重引用符を削除する
bash / 標準の Linux コマンドのみを使用して、次のように文字列を変換するものを探しています。
- 文字列を囲む単一引用符は削除する必要があります
- 文字列を囲む二重引用符は削除する必要があります
- 引用符で囲まれていない文字列は同じままにする必要があります
- 周囲の引用符が一致しない文字列は同じままにする必要があります
- 文字列を囲まない単一引用符はそのままにしておく必要があります
- 文字列を囲まない二重引用符はそのままにしておく必要があります
例えば:
- 「食べ物」は食べ物になるべき
- 「食」は食になるべき
- 食事はそのままでいい
- 「食」は変わらないはず
- 「食」は変わらないはず
- 「Foo'od」は「Foo'od」になる必要があります
- 「Foo'od」はFoo'odになるべきです
- 食べ物は変わらないはずです
- 'Foo"od' は Fo"od になる必要があります
- "Foo"od" は Fo"od になる必要があります
- 食べ物は変わらないはずです
ありがとうございました!
php - PHP: MYSQL で MDB2 の文字列に quote() を使用する
私は Pear の MDB2 を使用しており、とても楽しんでいますが、何かが気になり始めています。mdb2 パッケージの quote メソッドを使用して、次の方法で SQL 文字列を作成します。
(このページの例で説明されているように: http://pear.php.net/manual/en/package.database.mdb2.intro-quote.php )
データベースではすべてが見栄えがします。しかし、データベースからデータを抽出するとき、まだ MDB2 を使用しているため、quote メソッドによって追加された引用を取り除く簡単な方法が見つからないようです。現時点ではストリップスラッシュを使用していますが、これは正しくないようです。どこかに設定がありませんか?パッケージを間違った方法で使用していますか?
助けてくれてありがとう、レイフ
python - shellquote / unshellquoteへのPythonモジュール?
シェルコマンドで使用するために文字列を適切に解析/解析解除するPython標準ライブラリに何かありますか?私はperlのPythonアナログを探していString::ShellQuote::shell_quote
ます:
そして、さらに重要なのは、逆方向に機能するものです(文字列を取得してリストに分解します)。
php - 私のZendFrameworkの「引用」の混乱
おそらく非常に単純な問題があり、Zend Frameworkのマニュアルや他の場所で満足のいく(主観的に見られる)答えを見つけることができません...
php変数をsqlクエリに渡す方法はたくさんあるので、概要を失い、おそらく一般的な引用についての理解が不足しています。
プリペアドステートメント
このソリューションでは、dbがこれを処理するため、何も引用する必要がないことを理解しています。
APIを介したZend_Db_Tableおよび_Rowオブジェクトのクエリ
$ users = new Users();
質問
a)はまったく引用されていないため、問題がないことを理解しています。しかし、他のバージョンはどうですか、最高のものは何ですか?c)ステートメントのように扱われ、自動的に引用されますか、それともd)を使用するときに使用する必要がありますか?識別子?
makefile - スペースを含むパスで Make $(dir) または $(notdir) を使用する
Makefile で次のようなコードを使用しています。
スペースのないディレクトリでこれを使用すると、たとえばspace-test
、正常に動作します。
ただし、たとえばspace test
、スペースを含むディレクトリで使用すると$(notdir)
、間違ったことを行います。
ここで起こっていることは、が2 つのパスとして$(notdir)
解釈され、両方の「ファイル部分」を返すことです(つまり、と)。これの奇妙な部分は、適切にエスケープされていることです。どういうわけか、ルール内または内で、バックスラッシュのエスケープが無視されています。/tmp/space test/foo
space
foo
TARGET
$(notdir)
ここで何が間違っていますか?