0

HTML タグ内に表示される場合を除き、すべてのインスタンスを%{ ... %}with でラップする必要があります。たとえば、次のようになります。<span code='notranslate'>...</span>%{ ... }

"Or %{register_text} for a new account by <a href='%{path}'>clicking here</a>."

これになる必要があります

"Or <span code='notranslate'>%{register_text}</span> for a new account by <a href='%{path}'>clicking here</a>."

私の現在の正規表現は、HTML タグの状況を考慮していません。

x.gsub(/[?<!]%\{([a-zA-Z0-9_\-]*)\}[?>!]/i) {|s| "<span class='notranslate'>#{s}</span>"}

Rubyで正規表現を使用してこれを行う方法を考えています。

テイカーはいますか?

4

1 に答える 1

0

入力スペースについてはよくわからないので、これが私が思いつく最高のものです。また、途中で正規表現を少しクリーンアップします。

/%\{[\w-]+\}(?![^<>]>)/

整形式の HTML の場合、タグの外側にあるトークンのみに一致します。HTML の形式が正しくない場合、私は正規表現を書く仕事をしているとは思えません。

>また、Javascript ではand<がエスケープされていないため、ページに Javascript が埋め込まれていないと仮定します。

于 2012-06-08T14:34:21.403 に答える