0

要求されたときに動的に解析して HTML に配置する XML があります。


に置き換えたい改行がある
	ため、適切な読み取り可能な形式になっています。何らかの理由
で LineFeed を作成していません。

var lput=$(xml).find('lput_info').attr('output');

lput=lput.ReplaceAll("
", "
	");

'<table class="jpanelTable" >'+
    '<tbody>'+              
    '<tr width="100%">'+
        '<th class="thPanel">Output</th>'+
        '<td class="tdPanel"><pre class="preWrap">'+lput+'</pre></td>'+
    '</tr>'+                
    '</tbody>'+
'</table>'

ここからこの機能を使用する:

String.prototype.ReplaceAll = function(stringToFind,stringToReplace){
    var temp = this;
    var index = temp.indexOf(stringToFind);
    while(index != -1){
        temp = temp.replace(stringToFind,stringToReplace);
        index = temp.indexOf(stringToFind);
    }
    return temp;
}

アップデート

.preWrap {
    overflow: auto;
    font-family: "Consolas",monospace;
    font-size: 9pt;
    text-align:left;
    background-color: #FCF7EC;
    overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, not
    white-space: pre-wrap; /* css-3 */
    white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
    word-wrap: break-word; /* Internet Explorer 5.5+ */
    margin: 0px 0px 0px 0px;
    padding:5px 5px 3px 5px;
    white-space : normal; /* crucial for IE 6, maybe 7? */
}

xml 入力文字列の一部:

"bpmz.a&#xa;/usr/lib/libdl.a(shr_64.o)&#xa;/usr/lib/libperfstat.a(shr_64.o)&#xa;/usr/lib/lib.a"
4

1 に答える 1

1

div一部の人々は、一時的な を作成し、そこにテキストを配置し、 の内容を取得しdivて文字列をデコードする(jQuery) 関数を提案するかもしれません。

実装は単純ですが、文字列にすべての種類の html タグを入れるようにユーザーに要求することになるため、かなり安全ではありません。

これらの関数を使用することをお勧めします
2番目の関数が必要です

これらはdiv代替手段よりも安全です。

于 2012-12-05T07:40:56.987 に答える