mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 15:08:02 +01:00
styling fixes
This commit is contained in:
@@ -174,51 +174,51 @@ function setHighlightColor() {
|
||||
}
|
||||
}
|
||||
|
||||
function escapeRegex(input){ // put this in a function incase it ever needs to be used elsewhere, makes code cleaner
|
||||
function escapeRegexCharacters(input){ //escapes any characters that could be interpreted as regex patterns, potentially causing patterns to break if not escaped
|
||||
return input.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
||||
}
|
||||
|
||||
//Highlights words based on user settings
|
||||
function highlightTerms(el) {
|
||||
|
||||
if(regexHasError) return; //just stop right there ig the regex is gonna except
|
||||
if (regexHasError) return; //just stop right there ig the regex is gonna except
|
||||
|
||||
function highlightRecursor(element,term){ //recursor function to do the highlighting proper
|
||||
var regex = new RegExp("("+term+")","gi")
|
||||
var regex = new RegExp(term,"gi");
|
||||
|
||||
function replace(str) {
|
||||
return str.replace(regex,'<span class="highlight" style="background-color:'+opts.highlightColor+'">$&</span>')
|
||||
return str.replace(regex,'<span class="highlight" style="background-color:'+opts.highlightColor+'">$&</span>');
|
||||
}
|
||||
|
||||
var s=''
|
||||
var work=element.innerHTML;
|
||||
var ind=0;
|
||||
var s = '';
|
||||
var work = element.innerHTML;
|
||||
var ind = 0;
|
||||
|
||||
while(ind < work.length) {
|
||||
|
||||
var next_term=work.substring(ind).search(regex);
|
||||
if(next_term!=-1)next_term+=ind;
|
||||
var next_tag =work.indexOf('<',ind)
|
||||
var next_term = work.substring(ind).search(regex);
|
||||
if(next_term != -1) next_term += ind;
|
||||
var next_tag = work.indexOf('<',ind);
|
||||
if(next_tag == -1) {
|
||||
s+=replace(work.substring(ind));
|
||||
break;
|
||||
}
|
||||
else if(next_term==-1) {
|
||||
s+=work.substring(ind)
|
||||
s += work.substring(ind);
|
||||
break;
|
||||
}
|
||||
else if(next_tag < next_term) {
|
||||
var temp=work.indexOf('>',next_tag)
|
||||
s+=work.substring(ind,temp+1);
|
||||
ind=temp+1;
|
||||
var temp = work.indexOf('>',next_tag);
|
||||
s += work.substring(ind,temp+1);
|
||||
ind = temp+1;
|
||||
}
|
||||
else {
|
||||
s+=replace(work.substring(ind,next_tag));
|
||||
ind=next_tag
|
||||
s += replace(work.substring(ind,next_tag));
|
||||
ind = next_tag;
|
||||
}
|
||||
}
|
||||
|
||||
element.innerHTML=s;
|
||||
element.innerHTML = s;
|
||||
}
|
||||
|
||||
for (var i = 0; i < opts.highlightTerms.length; i++) { //Each highlight term
|
||||
@@ -226,18 +226,18 @@ function highlightTerms(el) {
|
||||
if(!opts.highlightRegexEnable){
|
||||
var innerTerms = opts.highlightTerms[i].split(" ")
|
||||
for(var a in innerTerms){
|
||||
highlightRecursor(el,escapeRegex(innerTerms[a]))
|
||||
highlightRecursor(el, escapeRegexCharacters(innerTerms[a]))
|
||||
}
|
||||
}
|
||||
else {
|
||||
try{
|
||||
new RegExp(opts.highlightTerms[i],"gmi") // check to make sure the pattern wont cause issues
|
||||
new RegExp(opts.highlightTerms[i],"gmi"); // check to make sure the pattern wont cause issues
|
||||
} catch(e){
|
||||
el.innerHTML+='<br/><span style="color:#000;background-color:#FFFF00;" class="bold"> Your highlight regex pattern - '+opts.highlightTerms[i]+' - is malformed.<br/>Your highlights have been disabled until they are next edited<br/>Thrown exception: '+e+'</span>'
|
||||
el.innerHTML += '<br/><span style="color:#000;background-color:#FFFF00;" class="bold"> Your highlight regex pattern - '+opts.highlightTerms[i]+' - is malformed.<br/>Your highlights have been disabled until they are next edited<br/>Thrown exception: '+e+'</span>';
|
||||
regexHasError = true;
|
||||
return;
|
||||
}
|
||||
highlightRecursor(el,opts.highlightTerms[i])
|
||||
highlightRecursor(el, opts.highlightTerms[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user