У меня есть следующие строки кода для замены небольшого содержимого моего статического html-файла:
$ = cheerio.load( fs.readFileSync( path_Url ) );
$('a').each( ( idx , _e ) => {
let guidId = $(_e).attr('href').split('/').pop().split('.')[0],
keyMessage = guidIdsMaper.get(guidId);
keyMessage = ( keyMessage !== undefined ) ? keyMessage : ' ( please enter respective keyMessage ) ';
$(_e)
.attr('href' , '#')
.attr( 'onclick' , `document.location = 'veeva:gotoSlide(${keyMessage}.zip)'` )
});
let inner_content = $.html();
fs.writeFileSync( path_Url , inner_content , 'utf8');
Итак, изначально в моем html-файле якорь выглядит так:
<a href="melt://navigatetoitem/RHEU-1218304-0000_html_0002.html">
<div id="item91263" class="pageItem" alt="Rectangle"> </div>
</a>
И как вы можете видеть, используя следующую строку кода:
$(_e).attr('href' , '#')
.attr( 'onclick' , `document.location = 'veeva:gotoSlide(${keyMessage}.zip)'` )
Но используя код замены, я получаю пару специальных символов для одинарной кавычки '
, поэтому ниже вывод:1011 *
<a href="#" onclick="document.location = 'veeva:gotoSlide(RHEU-1218304-0000_html_0002.zip)'">
<div id="item91263" class="pageItem" alt="Rectangle"> </div>
</a>
Итак, как мне избежать получения этого '
и получения '
вместо этого?нужно ли использовать htmlparser2 или что-то в этом роде, я попробовал это сделать, и пока мне не повезло.