Просмотр исходного кода

Supported highlighting of phrase search

Norio Suzuki 9 лет назад
Родитель
Сommit
72b7096436
1 измененных файлов с 3 добавлено и 2 удалено
  1. 3 2
      resource/js/components/SearchPage/SearchResultList.js

+ 3 - 2
resource/js/components/SearchPage/SearchResultList.js

@@ -17,7 +17,9 @@ export default class SearchResultList extends React.Component {
       if (keyword === '') {
         return;
       }
-      const k = keyword.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
+      const k = keyword
+            .replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
+            .replace(/(^"|"$)/g, ''); // for phrase (quoted) keyword
       const keywordExp = new RegExp(`(${k}(?!(.*?\]|.*?\\)|.*?"|.*?>)))`, 'ig');
       returnBody = returnBody.replace(keywordExp, '<em class="highlighted">$&</em>');
     });
@@ -56,4 +58,3 @@ SearchResultList.defaultProps = {
   pages: [],
   searchingKeyword: '',
 };
-