Строка JavaScript: получить содержимое двух стоящих рядом друг с другом фрагментов содержимого и обернуть их вместе - PullRequest
1 голос
/ 11 июля 2019

Я пытаюсь создать небольшой скрипт, который обернул бы некоторые части текста, например, <p> тег, подобный этому: <p>... 'displayed text'[popup content] ...</p> в оболочке.

Конечный результат будет выглядеть так:

<span class='wrapper'>
  displayed text
  <span class='popup'>popup content</span>
</span>

На данный момент я могу найти и заменить текст между апострофами следующим образом:

some_string.replace(/'(.*?)'/g,'<span>$1</span>');

Но мне бы очень хотелось сначала обернуть часть popup content, а затем обернуть ее вместе с displayed text внутри элемента wrapper.

Возможно ли это?

1 Ответ

1 голос
/ 11 июля 2019

Конечно, как насчет этого?

some_string.replace(/'(.*?)'\[(.*?)\]/, "$1<span class='popup'>$2</span>");

Добавьте \s* между двумя частями регулярного выражения, если они могут быть разделены пробелами:

/'(.*?)'\s*\[(.*?)\]/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...