替换字符串的特定部分
我有一个字符串,我试图用空格替换标记内的所有& nbsp。 所有&在标签之外应该不被替换,我基本上需要做的是检查& nbsp字符串是否在前面有“< a”(没有空格)。因为如果我有字符串例如:替换字符串的特定部分
 <a href="#"></a>
那么这应该变成:
 <a href="#"></a>
有没有一种方法来检查& NBSP字符串是否具有“<一”之前,如果它取代它吗? 我已经看过了javascript替换函数,我知道如何替换所有& nbsp字符串,但不仅仅是具有特定字符串的infront .. 希望这是有道理的,让我知道你是否有任何想法,谢谢:)
如果您能够控制字符串的内容,那么您应该考虑包含Kolink描述的分号。
无论哪种方式,这也有问题(在这个例子中,我有分号):
var string = " <a href='#'></a>";
string.replace("<a ","<a ");
此查找字符串中的短语<a
与<a
替换它。
当然,很明显..感谢Purmou的杰出和快速的答案! – user1199434 2012-02-26 23:44:54
@ user1199434:实际上,它不会起作用。看我最近的编辑。 (如果我帮了忙,接受答案当然是有帮助的)。 – Purag 2012-02-26 23:58:47
这确实工作得很好,我只是使用string.replace(“ user1199434 2012-02-27 00:12:08
该实体为
,末尾带有分号。仅仅因为浏览器不打扰分号,并不意味着它是可选的。这是必需的,否则实体会形成错误,而更严格的浏览器可能会拒绝它。
除此之外,您的问题解决起来非常简单:将/<a /g
替换为"<a "
。
感谢您的提示,我添加了分号.. – user1199434 2012-02-27 00:20:01
使用HTML解析器 – scibuff 2012-02-26 23:42:26
而你为什么不修复产生这个混乱的代码? – epascarello 2012-02-26 23:44:17
问题是我正在div中显示文本框的内容,所以我必须更改字符串中的空格,否则浏览器会将多个空格缩短为一个空格。例如:“你好...论坛!” (删除点)将缩短为“你好论坛!”。 – user1199434 2012-02-27 00:16:19