2011-06-19 14 views
1

私は単語と定義を持つxmlファイルを持っています。私のhtmlページがmyWordを持って文字列置換機能 - 置き換えた場合のスキップ方法

 
<word definition="this is my definition">myWord</word>

、私はそのタイトル私の言葉の定義を保持しているとのリンクにmyWordを変更したいです。

基本的にはこのようなものです。

myWordは、私はこのコードを使用していたXMLからリンクする

<a href="#" title="this is my definition">myWord </a>

に変わります。しかし、このコードは何度かリンクしています。だから私はリンクされているかどうかをチェックしたい、もしそうならスキップする。

 
x=xmlDoc.getElementsByTagName('word'); 
for (i=0;i' + x.item(i).attributes[0].textContent + ': ' + x.item(i).attributes[1].textContent + '\', this);" onMouseOut="doClear();">' +x[i].childNodes[0].nodeValue + ''; 
    replacer(text, linked);  

私は私のoldstringが

このコードのセクションならば、私は書くことができますどのように
 
<span class="replaced">Replaced text</span>

内にある場合は交換スキップしたい代用機能

 
function replacer(oldstring, newstring) { 
if(oldstring inside replaced tag) 
    { 
     //skip replacement 
    } 

else 
    { 
    document.body.innerHTML = document.body.innerHTML.replace(/oldstring/, newstring); 
    } 
} 


を持っています。

私はこの間数日間苦労してきました。私を助けてください! ありがとうございます!

+7

を必要に応じて、私に連絡しますHTML(多くの場合試したが、正規表現だけではそれを確実に行うことはできない)。代わりに、テキストをDOM要素に挿入します(切断され、表示されないようにすることができます)。そして、処理したくない要素のものをスキップしてテキストノード内をループします。関連する参照資料:[DOM2 Core](http://www.w3.org/TR/DOM-Level-2-Core/)、[DOM2 HTML](http://www.w3.org/TR/DOM-レベル2-HTML /)、[DOM3コア](http://www.w3.org/TR/DOM-Level-3-Core/) –

+0

私にそれを行う方法を教えてもらえますか? – testere

+0

私は今すぐには時間がないのですが、上記のコメントに参考資料へのリンクがあり、ここにDOMツリーを歩く例があります:http://stackoverflow.com/questions/5158022/wrap-a -tags-around-http-text/5158204#5158204 –

答えて

1

XSLTはこれを行うには良い方法になります:

<?xml version="1.0"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
    <xsl:template match="*|@*|text()"> 
     <xsl:copy> 
      <xsl:apply-templates select="*|@*|text()"/> 
     </xsl:copy> 
    </xsl:template> 
    <xsl:template match="word"> 
     <a href="#" title="<xsl:copy-of select="data(@description)"/>"> 
      <xsl:copy-of select="data(.)"/></a> 
    </xsl:template> 
</xsl:stylesheet> 

任意の詳細は、それが解析するのは非常に困難ですので、あなたはおそらく、文字列レベルでこれをやっているしたくない

関連する問題