По некоторым причинам я добавляю столяр нулевой ширины к ключевому слову. Я хочу исключить добавление, когда ключевое слово находится в начале новой строки, но я не могу удалить его снова.
Я предполагаю две причины этой проблемы, но я не знаю, как решить проблему в обоих случаях:
1 - неправильное использование \n
и \r
для обнаружения начала строки?
2- Когда я проверяю сгенерированный html после добавления соединения, я вижу, что добавленный ‍
заключен в двойные кавычки, такие как "‍"
. Нужно ли учитывать эти цитаты при попытке их удалить?
var tail="\u200D";
var keyword="است";
var htm=$("#test").html();
//Adding joiner to keywords
htm=htm.split(keyword).join(tail+'<span class="red">'+tail+keyword+tail+'</span>'+tail);
//Removing all possible combination of joiner with new lines
htm=htm.split('\r\n'+tail).join('\r\n');
htm=htm.split('\n'+tail).join('\n');
htm=htm.split('\r'+tail).join('\r');
htm=htm.split('\r\n'+'<span class="red">'+tail).join('\r\n'+'<span class="red">');
htm=htm.split('\n'+'<span class="red">'+tail).join('\n'+'<span class="red">');
htm=htm.split('\r'+'<span class="red">'+tail).join('\r'+'<span class="red">');
$("#test").html(htm);
div{font-size:36pt;}
.red{color:red}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="test">استکان</div>