0
4

2 に答える 2

5

二重引用符を間違ってネストしました。それ以外の

"<a target="_blank""

二重引用符をエスケープしてみてください:

"<a target=\"_blank\""

あなたが書いた方法は、2 つの別個の文字列として扱われ、その間に"<a target="あり""まし_blankた。

そして、前に何度も述べたように、できれば HTML を regex で解析しないでください

于 2012-05-17T15:40:20.067 に答える
1

HTML を正規表現で処理しようとしてはいけません。問題が発生する可能性が多すぎるためです。この場合、タグを のようにするとどうなります<A HREF...>か? または、、aなどで始まる他のタグはどうでしょうか? すでに属性がある場合はどうなりますか?<area><abbr><acronym>target

代わりに、HTML をプレーン テキストではなく HTML として扱ってみてください。あなたの指先で engire エンジンを持っています。

var tmp = document.createElement('div');
tmp.innerHTML = itemdescription;
var links = tmp.getElementsByTagName('a'), l = links.length, i;
for( i=0; i<l; i++) {
    links[i].setAttribute("target","_blank");
}
editdescription = tmp.innerHTML;
于 2012-05-17T15:42:46.960 に答える