1

これによると(JavaScriptを使用してカーソルの下に単語を取得)リンクマウスポインタの下に単語を取得できます。英語では問題ありません。私はそれを変更します(アラビア語の場合)

<p>سلام به همه</p>
Word: <span id="word"></span>

<script type="text/javascript">
    $(function() {
        // wrap words in spans
        $('p').each(function() {
            var $this = $(this);
            $this.html($this.text().replace(/[^\x00-\x80]+/g, "<span>$1</span>"));
        });

        // bind to each span
        $('p span').hover(
            function() { $('#word').text($(this).css('background-color','#ffff66').text()); },
            function() { $('#word').text(''); $(this).css('background-color',''); }
        );
    });

ただし、単語ごとに「$1」が返されます。助けてください!

4

1 に答える 1

3

元の正規表現に表示される括弧が必要です。正規表現表記では、括弧は「一致グループ」を形成$1し、置換文字列の「」の代わりに使用されます。

$this.html($this.text().replace(/([^\x00-\x80]+)/g, "<span>$1</span>"));

正規表現に一致グループがない場合、$1は文字通りのドル記号と1つとして扱われます。

複数の括弧で囲まれた一致グループがある場合、グループは、一致グループが開かれた順序でドル記号で示される番号付きプレースホルダーを置き換えるために使用されます(最初の一致グループが置き換えられ$1、2番目が置き換えられます$2など)。

于 2012-07-07T07:31:28.883 に答える