我有这个html(希伯来文):
בדיקה בדיקה בדיקה‎ניסיון ניסיון ניסיון
我想通过用空格替换它来删除(‎
)。
我尝试使用正则表达式:
$('#result').html($('#test').html().replace(/‎/, ' '));
$('#result2').html($('#test2').html().replace(/©/, ' '));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">
בדיקה בדיקה בדיקה‎ניסיון ניסיון ניסיון
</div>
<hr />
<div id="test2">
בדיקה בדיקה בדיקה©ניסיון ניסיון ניסיון
</div>
<hr />
<div id="result"></div>
<hr />
<div id="result2"></div>
我添加了复制示例,以表明我可以替换复制字符,因为它是可见符号。但是如何替换从左到右的符号呢?
答案 0 :(得分:3)
当您检索HTML时,显然LTR标记未被转换为字符实体,它只是Unicode字符200E
。
因此,要允许使其成为实体的浏览器和不使用的浏览器,请使用<r;
和\u200E
之间的替换:
var html = $('#test').html();
var rep = html.replace(/‎|\u200E/gi, ' ');
$('#result').html(rep);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">
בדיקה בדיקה בדיקה‎ניסיון ניסיון ניסיון
</div>
<hr />
<div id="result"></div>
&#13;
我还允许该实体采用大写(<R;
)或小写(<r;
),并添加g
标志以替换它在整个字符串中(如果您只想替换第一个字符串,请删除g
。)