У меня есть эта строка запроса, и я хочу, чтобы значения были такими, какие они есть, без экранирования символов / r / n, но экранирование этих символов.
ics_link=data:text/calendar;charset=utf8,BEGIN:VCALENDAR%0D%0AVERSION:2.0%0D%0ABEGIN:VEVENT%0D%0AUID:4df97e535f751923b70c0bb2c8d7f4d2%0D%0ASUMMARY:Webinar - Crystal Eye Essentials Training Module 1: Introduction to New Partners%0D%0ADTSTART;TZID=UTC:20190710T150000%0D%0ADTEND;TZID=UTC:20190710T163000%0D%0ADESCRIPTION:Webinar - Crystal Eye Essentials Training Module 1: Introduction to New Partners%0D%0ALOCATION:Online%0D%0AEND:VEVENT%0D%0AEND:VCALENDAR
Но это их сохранениенапример, в файле без символа новой строки и вызывает ошибку при импорте файла ics в календарь.
BEGIN:VCALENDARVERSION:2.0BEGIN:VEVENTUID:4df97e535f751923b70c0bb2c8d7f4d2SUMMARY:Webinar - Crystal Eye Essentials Training Module 1: Introduction to New PartnersDTSTART;TZID=UTC:20190710T150000DTEND;TZID=UTC:20190710T163000DESCRIPTION:Webinar - Crystal Eye Essentials Training Module 1: Introduction to New PartnersLOCATION:OnlineEND:VEVENTEND:VCALENDAR
Это код, который я использую в PHP (Drupal):
$ics_download = $_GET['ics_link'];
$download_ics = "<a id='download_ics_rp' data-href='$ics_download' class='btn btn-default btn-lg' value='Download ICS' download>Download ICS</a>";
$element = array(
'#markup' => $download_ics,
);
return $element;
и затем получить значение data-href в javascript следующим образом:
jQuery('#download_ics_rp').click(function(e) {
var ics_data = jQuery(this).attr('data-href');
var win = window.open(ics_data, '_blank');
});