2012-02-26 29 views
0

文字列があります。タグ内のすべての& nbspを空白で置き換えようとしています。 すべて& nbspの外側のnbspは置き換えないはずですが、基本的には、& nbspの文字列の前にスペースがない "<"があるかどうかを確認する必要があります。これはにオンにする必要がありその後文字列の特定の部分を置き換えます。

&nbsp<a&nbsphref="#"></a> 

::私は、文字列があった場合たとえば、

&nbsp<a href="#"></a> 

は& NBSP文字列がその前に、それならば「<」を持っているかどうかを確認する方法はありますそれを置き換えるのですか? 私はjavascript置換機能を見てきましたが、すべての& nbsp文字列を置き換える方法を知っていますが、特定の文字列をinfrontに置き換えたものだけではありません。 あなたはアイデアがあれば教えてください。 :)

+0

HTMLパーサー – scibuff

+1

を使用してください。なぜこの混乱を引き起こしているコードを修正していませんか? – epascarello

+0

問題は、div内のテキストボックスの内容を表示しているため、文字列内のスペースを変更して、&nbspそうでなければブラウザが複数のスペースを1つに短縮するということです。例:「こんにちは。フォーラム!」 (ドットを削除する)は "hello forum!"に短縮されます。 – user1199434

答えて

0

文字列を制御できる場合は、Kolinkが説明した理由でセミコロンを含めることを検討する必要があります。

いずれかの方法で、これはトリックを行います(この例では、私はセミコロンを含める):

var string = "&nbsp;<a&nbsp;href='#'></a>"; 
string.replace("<a&nbsp;","<a "); 

これは文字列でフレーズ<a&nbsp;を探して<aに置き換えます。

+0

もちろん、それは明らかでした..鮮やかで素早い答えのためにプルモウに感謝します! – user1199434

+0

@ user1199434:実際、うまくいきませんでした。私の最新の編集を見てください。 (もし私が助けてくれれば、答えを受け入れることはもちろん役に立つ)。 – Purag

+0

これは実際にはかなりうまく動作しました。私はstring.replace( "<  href"、 " user1199434

0

エンティティは&nbsp;で、最後にセミコロンが付いています。ブラウザがセミコロンの検索を気にしないからといって、オプションであるとは限りません。必須です。そうでない場合は、エンティティの形式が正しくなく、より厳密なブラウザが拒否する可能性があります。

これ以外にも、あなたの問題は非常に簡単に解決できます。/<a&nbsp/g"<a "に置き換えてください。

+0

チップのおかげでセミコロンを追加しました.. – user1199434

関連する問題