JSFiddle - React, Tailwind, and code Playground
by Dave Salomon
HTML
<div id="res"></div>
CSS
span {
background:#fdd;
border:1px solid #0f0;
}
JavaScript
var str = 'so היי all whats up אתכם?';
var finalStr = str.replace(/([^a-z^\u0591-\u05F4^\s])/gi, '');
var rgx = /([a-z ]+)/gi;
var mat = str.match(rgx);
for(var i=0; i < mat.length; ++i){
var match = mat[i];
finalStr = finalStr.replace(match.trim(),'<span>'+match.trim()+'</span>');
}
rgx = /([\u0591-\u05F4 ]+)/gi;
var mat = str.match(rgx);
for(var i=0; i < mat.length; ++i){
var match = mat[i];
finalStr = finalStr.replace(match.trim(),'<span>'+match.trim()+'</span>');
}
document.getElementById('res').innerHTML = finalStr;