1

コードをスタイル化するために、Googleのpretty-printクラスを使用してhtmlコードを保持するjquery変数があります。

<span class="pln">
  echo </span>
  <span class="str">"$output"</span>
<span class="pun">;</span>
<span class="pln">
    echo </span>
<span class="str">"$my_code"</span>
<span class="pun">;</span>

これらのきれいな印刷クラスを削除したいと思います。出力は次のようになります

echo $output;
echo $my_code;

また、これらの改行とコードの書式設定を維持したいと考えています。

jqueryを使用して各スパン要素を削除しようとしましたが、面倒な作業です。より生産的な方法でそれを行う方法はありますか。

4

2 に答える 2

0

次のようなことができます。

var text = $(x).filter('span').text();

それはうまくいくようです:

> $(x).filter('span').text()
"
  echo "$output";
    echo "$my_code";"
于 2013-03-19T02:19:27.927 に答える
0

すべてのコードが特定のクラスの div 内にあり、コンテンツを置き換えたいと仮定すると、もちろんこれらの側面を簡単に変更できます。

// change to fit your case
var parent = $('.your-own-class');

var html = parent.html();
html = html
    .replace(/(\r\n|\n|\r)/g,'')
    .replace(/(\s\s+?)/gm, '')
    .replace(/(\s+?\<+?)/gm, '<');

var tempElement = $("<pre />").html(html);
tempElement.find(".pln:not(:first)").prepend("\n");
var text = tempElement.text();

// change to fit your case
var output = parent;

output.text(text).css("white-space", "pre");

作業デモ:

http://jsfiddle.net/Meligy/Ym2M8/

コードは最高のパフォーマンスを得るために最適化されていないことに注意してください。実際の prettyprint コードがここにある正確なコードとは異なる方法でレンダリングされている場合、いくつかの Regex 解析を節約してパフォーマンスを向上させることができます。

于 2013-03-19T03:13:56.830 に答える