JSFiddle - React, Tailwind, and code Playground
HTML
<div id="article-detail-desc">
<p>أعرب الرئيس الأميركي باراك أوباما في اتصال مع نظيره اللبناني ميشال سليمان عن قلقه مما وصفه دور حزب الله النشيط والمتزايد في سوريا وقتاله إلى جانب النظام السوري.</p>
<p>وذكر البيت الأبيض في بيان أن أوباما ناقش مع سليمان التزامهما المشترك بالحفاظ على استقرار لبنان وسيادته وأمنه، لا سيما فيما يتعلق بالصراع الدائر حاليا في سوريا.</p>
Hello How are you , I am not able to highlight the text in arabic but same works for english
</div>
CSS
p {margin:10px;}
#ArticleContent { width:500px; height:100%; text-align:justify; background-color:#fff;}
.ad-keyword-selected
{
color:#990044;
text-decoration:none;
}
.ui-tooltip, .arrow:after {
background: #fff;
border: 1px solid #f5f5f5;
}
.ui-tooltip {
padding: 10px 20px;
color: #333333;
border-radius: 10px;
font: normal 12px Georgia,"Times New Roman",Times,serif;
text-transform: uppercase;
box-shadow: 0 0 3px #333333;
}
.arrow {
width: 70px;
height: 16px;
overflow: hidden;
position: absolute;
left: 50%;
margin-left: -35px;
bottom: -16px;
}
.arrow.top {
top: -16px;
bottom: auto;
}
.arrow.left {
left: 20%;
}
.arrow:after {
content: "";
position: absolute;
left: 20px;
top: -20px;
width: 25px;
height: 25px;
box-shadow: 6px 5px 9px -9px black;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
tranform: rotate(45deg);
}
.arrow.top:after {
bottom: -20px;
top: auto;
}
JavaScript
function HighlightKeywords(keywords)
{
var el = $("#article-detail-desc");
var language = "ar-AE";
var pid = 32;
var issueID = 18;
$(keywords).each(function()
{
// var pattern = new RegExp("("+this+")", ["gi"]); //breaks html
var pattern = new RegExp("(\\b"+this+"\\b)(?![^<]*?>)", ["gi"]); //looks for match outside html tags
var rs = "<a class='ad-keyword-selected' href='http://www.alshindagah.com/ar/search.aspx?Language="+language+"&PageId="+pid+"&issue="+issueID+"&search=$1' title='Seach website for: $1'><span style='color:#990044; tex-decoration:none;'>$1</span></a>";
el.html(el.html().replace(pattern, rs));
});
}
HighlightKeywords(["you","الهدف","طهران","سيما","حاليا","Hello","34","english"]);
//Popup Tooltip for article keywords
$(function() {
$("#article-detail-desc").tooltip({
position: {
my: "center bottom-20",
at: "center top",
using: function( position, feedback ) {
$( this ).css( position );
$( "<div>" )
.addClass( "arrow" )
.addClass( feedback.vertical )
.addClass( feedback.horizontal )
.appendTo( this );
}
}
});
});