问题描述
我正在使用 highlight-text-inside-a-textarea 插件 https://codersblock.com/blog/highlight-text-inside-a-textarea/,它工作正常,但我对重音词有问题。例如,这里是我要突出显示的关键字数组 $kw = array("excel","Réseau","R","electrom");
但正如您所看到的,关键字“electromécanique”被突出显示了一半。我怎样才能避免这种情况?这可能与 RegExp 有关。
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="/jquery/highlight-within-textarea.js"></script>
<link rel="stylesheet" type="text/css" href="/jquery/highlight-within-textarea.css"/>
</style>
</head>
<body>
<h1>Highlighted Keywords Test</h1>
<div id="job">
<textarea cols="50" rows="5">excel Réseau Robert electromécanique R electromecanique</textarea></div>
<?PHP
$kw = array("excel","electrom");
foreach($kw as $kws) {
$keywords_highlight[] = $kws;
}
?>
<script>
var arrHighlight = <?PHP echo json_encode($keywords_highlight); ?>;
function escapeRegExp(arrHighlight) {
return arrHighlight.replace(/[.*+?^${}()|[\]\\]/g,'\\$&'); // $& means the whole matched string
}
var pattern = new RegExp("(?<![\\w-])(?:" + arrHighlight.map(escapeRegExp).join("|") + ")(?![\\w-])","gi");
$('textarea').highlightWithinTextarea({
highlight: pattern
});
</script>
</body>
</html>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)