2016-09-24 2 views
-2

私の崇高なテキストにHTMLコードがあり、私の崇高なテキストのコードをに置き換えたいのですが、崇高なテキストでを検索して置き換えてください。崇高なテキスト正規表現一度に多数の文字列を置換する

私は

</div> 
<ul> 
<li> 

</li> 
<div> 

</div> 
<li> 

を交換したいこの

</div> 
<li>lorem</li> 
<li>ipsum</li> 
<div> 

のようなコードを持っています

</li> 
</ul> 
<div> 

しかし、私は同時に置き換えたいです。これどうやってするの? 一度に多数の異なる文字列を置換する

+0

[必須](http://stackoverflow.com/questions/1732348/regex-match-open -tags-except-xhtml-self-contained-tags)を使用します。 take-homeメッセージ - ***正規表現を使ってHTMLを処理しないでください。 HTMLパーサーを使用する*** – MattDMo

+0

こんにちはMattDMo、私はHTMLではなく、崇高なテキストでそれをどのように変更するかを尋ねます –

+0

私はHTMLでそれをすることについて何も言いませんでした。このタスクは複数の検索と置換のステップを使用してSublimeで可能かもしれませんが、それは重要ではありません。ポイントは、これを行うためにHTML **パーサー**を使用する必要があります** **正規表現ではありません。 Pythonを知っているなら、['beautifulsoup4'](https://www.crummy.com/software/BeautifulSoup/)を使ってください。 Rubyについては、[Nokogiri](http://www.nokogiri.org/)を試してみてください。 Javaの場合は、['jsoup'](https://jsoup.org/)を試してください。 Perlには['HTML :: Parser'](http://search.cpan.org/dist/HTML-Parser/Parser.pm)を使用してください。その他の言語は、Googleだけです。 – MattDMo

答えて

0

これを試してみてください。まず、あなたが代わるシンプルを使用し、文字列にコードをオンにする必要があります。

var code = '</div><li>lorem</li><li>ipsum</li><div></div><li>lorem</li><li>ipsum</li><div></div><li>lorem</li><li>ipsum</li><div></div><li>lorem</li><li>ipsum</li><div>'; 
 

 
var newCode = code.replace(/<\/div>\s*?<li>/g, '</div><ul><li>').replace(/<\/li>\s*?<div>/g, '</li></ul><div>'); 
 

 
document.getElementById('output').innerHTML = newCode;
<div id = "output"></div>

+0

HTMLではなく崇高なテキスト –

関連する問題