2012-07-07 56 views
1

根據這個(get a word under cursor using 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' 的每個字。 請幫忙!

回答

3

需要出現在原始正則表達式中的括號。在正則表達式中,括號形成一個「匹配組」,替換替換字符串中的「$1」。

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

沒有任何比賽團體您正則表達式中,$1被簡單地視爲文字美元符號和一個。

當有多個括號的匹配組,該組被用來在取代美元符號-表示編號佔位符,所述匹配組被打開的順序(第一匹配組替換$1,第二替換$2等) 。

+0

謝謝我的朋友 – KF2 2012-07-07 07:36:34