मिलान शब्द हाइलाइट करें मैं अरबी के लिए खोज इंजन कर रहा हूं जो लाल परिणाम में लाल परिणाम को हाइलाइट करना चाहिए। दिया गया 2 स्ट्रिंग:दो अरबी स्ट्रिंग (जावास्क्रिप्ट)
Keyword: بِسْمِ ٱلرحمن ٱلرحيم ملك
Result: بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ
मैं दूसरी स्ट्रिंग पर मिलान शब्द और डायक्रिटिक्स को हाइलाइट करना चाहता हूं। पहली छवि कीवर्ड खोज करने के लिए है, दूसरी छवि मैं क्या हासिल करने की उम्मीद है है:
वांछित परिणाम छवि में, केवल मिलान किया शब्द और "विशेषक/dhabt" हाइलाइट किया जाएगा।
var keyword = removeDhabt('بِسْمِ ٱلرحمن ٱلرحيم ملك').split(' ');
var source = 'بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ'.split(' ');
for(var b=0; b<source.length; b++) {
for(var c=0; c<keyword.length; c++) {
if(keyword[c]==removeDhabt(source[b])) source[b] = '<red>'+source[b]+'</red>';
}
}
$(target).html(source);
function removeDhabt(s) {
return s.replace(/ِ/g,'').replace(/ُ/g,'').replace(/ٓ/g,'').replace(/ٰ/g,'').replace(/ْ/g,'').replace(/ٌ/g,'').replace(/ٍ/g,'').replace(/ً/g,'').replace(/ّ/g,'').replace(/َ/g,'');
}
और परिणाम:
तो मैं अलग हो गए, पाश और हर किरदार के लिए की तुलना लेकिन परिणाम कचरा है:
मैं इन कोड के साथ यह पूरा करने की कोशिश की
फिर मुझे शून्य-चौड़ाई वाले योजक के बारे में यहां मिला: Partially colored Arabic word in HTML और तकनीक को लागू करने के बाद nique, अंतिम परिणाम अभी भी% नहीं 100 सही:
var keyword = removeDhabt('بِسْمِ ٱلرحمن ٱلرحيم ملك').split(' ');
var source = 'بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ'.split(' ');
for(var b=0; b<source.length; b++) {
for(var c=0; c<keyword.length; c++) {
if(keyword[c]==removeDhabt(source[b])) {
var newSource = source[b].split('');
var e = 0;
for(var d=0; d<keyword[c].length; d++) {
while(keyword[c][d]!=newSource[e]) e++;
newSource[e] = '<red>'+newSource[e]+'‍</red>';
}
source[b] = newSource.join('');
}
}
}
$(target).html(source);
function removeDhabt(s) {
return s.replace(/ِ/g,'').replace(/ُ/g,'').replace(/ٓ/g,'').replace(/ٰ/g,'').replace(/ْ/g,'').replace(/ٌ/g,'').replace(/ٍ/g,'').replace(/ً/g,'').replace(/ّ/g,'').replace(/َ/g,'');
}
Thx एनजी प्रतिस्थापन। – Coisox