在regex()JavaScript中从左到右标记

时间:2015-08-24 07:08:01

标签: javascript html regex special-characters

我有这个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">   
בדיקה בדיקה בדיקה&lrm;ניסיון ניסיון ניסיון
  </div>
<hr />
<div id="test2">   
בדיקה בדיקה בדיקה&copy;ניסיון ניסיון ניסיון
  </div>
<hr />
<div id="result"></div>
<hr />
<div id="result2"></div>

我添加了复制示例,以表明我可以替换复制字符,因为它是可见符号。但是如何替换从左到右的符号呢?

1 个答案:

答案 0 :(得分:3)

当您检索HTML时,显然LTR标记未被转换为字符实体,它只是Unicode字符200E

因此,要允许使其成为实体的浏览器和不使用的浏览器,请使用&ltr;\u200E之间的替换:

&#13;
&#13;
var html = $('#test').html();
var rep = html.replace(/&lrm;|\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">   
בדיקה בדיקה בדיקה&lrm;ניסיון ניסיון ניסיון
</div>
<hr />
<div id="result"></div>
&#13;
&#13;
&#13;

我还允许该实体采用大写(&LTR;)或小写(&ltr;),并添加g标志以替换它在整个字符串中(如果您只想替换第一个字符串,请删除g。)