Replace p tags
This commit is contained in:
parent
0948dc51cb
commit
57602a912e
|
@ -16,30 +16,38 @@ const SearchResults = (props) => {
|
||||||
// sort array alphabetically
|
// sort array alphabetically
|
||||||
const sortedInterviews = props.data.sort((a, b) => a.name.localeCompare(b.name));
|
const sortedInterviews = props.data.sort((a, b) => a.name.localeCompare(b.name));
|
||||||
|
|
||||||
const cleanTextForParse = (text) => {
|
const getStartOffset = (text) => {
|
||||||
let strText = text;
|
if (text.indexOf('>') === 0) {
|
||||||
|
return -2;
|
||||||
if (strText.indexOf('<p>') !== 0 && strText.indexOf('>') === 0) {
|
} else if (text.indexOf('/p>') === 0) {
|
||||||
strText = `<p${strText}`;
|
return 3;
|
||||||
} else if (strText.indexOf('<p>') !== 0 && strText.indexOf('p>') === 0) {
|
} else if (text.indexOf('p>') === 0) {
|
||||||
strText = `<${strText}`;
|
return -1;
|
||||||
} else if (strText.indexOf('<p>') !== 0) {
|
} else if (text.indexOf('<p>') !== 0) {
|
||||||
strText = `<p>${strText}`;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strText.substr(strText.length - 1, 1) === '<') {
|
return 0;
|
||||||
strText = strText.substr(0, strText.length - 2);
|
};
|
||||||
} else if (strText.substr(strText.length - 1, 1) === '<p') {
|
|
||||||
strText = strText.substr(0, strText.length - 3);
|
const getEndOffset = (text) => {
|
||||||
|
if (text.substr(text.length - 1, 1) === '<') {
|
||||||
|
return -1;
|
||||||
|
} else if (text.substr(text.length - 2, 2) === '<p') {
|
||||||
|
return -2;
|
||||||
|
} else if (text.substr(text.length - 3, 3) === '<p>') {
|
||||||
|
return -3;
|
||||||
}
|
}
|
||||||
|
|
||||||
return strText;
|
return 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
const trimText = (text, strpos, length) => {
|
const trimText = (text, strpos, length) => {
|
||||||
let offset = 0;
|
let offset = 0;
|
||||||
let firstEllipses = '';
|
let firstEllipses = '';
|
||||||
let lastEllipses = '';
|
let lastEllipses = '';
|
||||||
|
let startOffset = 0;
|
||||||
|
let endOffset = 0;
|
||||||
|
|
||||||
if (text === null) {
|
if (text === null) {
|
||||||
return '';
|
return '';
|
||||||
|
@ -50,13 +58,19 @@ const SearchResults = (props) => {
|
||||||
firstEllipses = '<p>...</p>';
|
firstEllipses = '<p>...</p>';
|
||||||
}
|
}
|
||||||
|
|
||||||
const replacedText = cleanTextForParse(text.substr(offset, length + offset));
|
const offsetText = text.substr(offset, length + offset);
|
||||||
|
startOffset = getStartOffset(offsetText);
|
||||||
|
endOffset = getEndOffset(offsetText);
|
||||||
|
|
||||||
if (replacedText.substr(replacedText.length - 1, 1) !== '.' && replacedText.substr(replacedText.length - 1, 1) !== '>') {
|
const newOffsetText = startOffset ?
|
||||||
|
text.substr(offset + startOffset, length + offset + endOffset) :
|
||||||
|
`<p>${text.substr(offset + 0, length + offset + endOffset)}`;
|
||||||
|
|
||||||
|
if (newOffsetText.substr(newOffsetText.length - 1, 1) !== '.' && newOffsetText.substr(newOffsetText.length - 1, 1) !== '>') {
|
||||||
lastEllipses = '...';
|
lastEllipses = '...';
|
||||||
}
|
}
|
||||||
|
|
||||||
return text.length <= length ? text : `${firstEllipses}${replacedText}${lastEllipses}`;
|
return text.length <= length ? text : `${firstEllipses}${newOffsetText}${lastEllipses}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
const highlightTerm = (text) => {
|
const highlightTerm = (text) => {
|
||||||
|
|
Loading…
Reference in New Issue