У меня проблемы с преобразованием текста в тег с помощью регулярных выражений
У меня есть образец текста в моем div.content
Это ваш самый первый контент с Contentful, извлеченный в формате JSON с использованием [Content Delivery API](https://www.contentful.com/developers/docs/references/content-delivery-api/ "Content Delivery API").
Контент и презентация теперь разделены, что позволяет вам сосредоточить свои усилия на создании идеального приложения.
## Ваши первые шаги Создать с Contentful легко. Сначала найдите немного времени, чтобы получить [основы моделирования содержимого](https://www.contentful.com/r/knowledgebase/content-modelling-basics/ "основы моделирования содержимого"), которые вы можете настроить в [Содержательное веб-приложение](https://app.contentful.com/ "Содержательное веб-приложение").
Как только вы это получите, не стесняйтесь заглянуть в [Documentation](https://www.contentful.com/developers/docs/ "Documentation"), чтобы узнать немного больше о том, как создать ваше приложение с Contentful, в частности, [Основы API](https://www.contentful.com/developers/docs/concepts/apis/ "Основы API") и каждый из наших четырех API, как показано ниже.
Я хочу получить все строки, как это:
[основы моделирования содержимого](https://www.contentful.com/r/knowledgebase/content-modelling-basics/ "основы моделирования содержимого")
из этого текста и заменить их ссылкой
и вставьте в HTML теги
<a href="https://www.contentful.com/r/knowledgebase/content-modelling-basics/ ">the basics of content modelling</a>
Я использую это регулярное выражение
let pattern = /\[(.*?)\]\((.*?)\)/gmi
1 ответ
Решение
Ваш шаблон отсутствует, что ()
содержит как URL, так и строку в кавычках. Добавлять \s\".*?\"
по вашему шаблону - \s
соответствует пробелу, вы можете опустить его, если хотите оставить пробел в конце URL
let pattern = /\[(.*?)\]\((.*?)\s\".*?\"\)/gm;
let text = `These is your very first content with Contentful, pulled in JSON format using the [Content Delivery API](https://www.contentful.com/developers/docs/references/content-delivery-api/ "Content Delivery API").
Content and presentation are now decoupled, allowing you to focus your efforts in building the perfect app.
## Your first steps
Building with Contentful is easy. First take a moment to get [the basics of content modelling](https://www.contentful.com/r/knowledgebase/content-modelling-basics/ "the basics of content modelling"), which you can set up in the [Contentful Web app](https://app.contentful.com/ "Contentful Web app").
Once you get that, feel free to drop by the [Documentation](https://www.contentful.com/developers/docs/ "Documentation") to learn a bit more about how to build your app with Contentful, in particular the [API basics](https://www.contentful.com/developers/docs/concepts/apis/ "API basics") and each one of our four APIs, as shown below.`
let result = text.replace(pattern, '<a href="$2">$1</a>')
console.log(result)