Для преобразования хештегов в HTML документе в ссылки, оставив без изменений хештеги внутри фрагментов кода, можно воспользоваться регулярными выражениями.
Пример кода на JavaScript:
```javascript
// Преобразование хештегов в ссылки
function transformHashtagsToLinks(html) {
// Находим все хештеги, кроме тех, которые находятся внутри фрагментов кода
return html.replace(/<\/code>|(^|[^a-zA-Z0-9_])#(\w+)/g, function(match, prefix, hashtag) {
// Проверяем, есть ли до хештега тег code
if (prefix === '<code>') {
return match; // Оставляем хештег без изменений
} else {
return prefix + '<a href="https://example.com/hashtag/' + hashtag + '">#' + hashtag + '</a>';
}
});
}
// Пример использования
var html = `
<p>This is a #test paragraph with a <code>#hashtag</code>.</p>
<p>Another #example: #test.</p>
`;
var transformedHtml = transformHashtagsToLinks(html);
console.log(transformedHtml);
```
Этот код найдет все хештеги в тексте HTML, кроме тех, которые находятся внутри фрагментов кода (обозначенных тегом `<code>`), и заменит их на ссылки. Если хештег находится внутри тега `<code>`, он останется без изменений.
Чтобы применить этот код к HTML документу, можно использовать библиотеку для работы с DOM, такую как `jsdom` или `cheerio`.