Разбейте строку внутри массива, затем извлеките ее из внутреннего массива, чтобы он стал элементом внешнего массива

Если пользователь вводит hey!, вы хотите отобразить hey! или hey!? Если первый, бежать менее-thans и html-encode амперсанды (и, возможно, кавычки), и все в порядке. Модификация вашего кода для реализации второго варианта будет:

replaceAll("\\<[^>]*>","")

, но вы столкнетесь с проблемами, если пользователь введет что-то искаженное, например .

Вы можете также проверьте JTidy , который будет анализировать «грязный» html-ввод и должен дать вам способ удалить теги, сохраняя текст.

Проблема с попыткой разделить html что у браузеров очень мягкие парсеры, более мягкие, чем любая библиотека, которую вы можете найти, поэтому, даже если вы сделаете все возможное, чтобы стричь все теги (используя метод замещения выше, DOM-библиотеку или JTidy), вы еще / g1] необходимо обязательно закодировать любые оставшиеся специальные символы HTML, чтобы обеспечить безопасность вывода.

0
задан brohymn 31 March 2019 в 02:02
поделиться

1 ответ

Вы можете использовать map() и возвращать новый массив со свойством DAY и свойством split STREAMNAME. Вы должны использовать Spread Operator , чтобы сделать массив плоским.

let arr = [
    { "DAY": 20190323,"NAME": "BTA130", "STREAMNAME": "Instant Purification, Pentatone  A/B , This is a drill"},
    { "DAY": 20190324,"NAME": "BTA130", "STREAMNAME": "Instant Purification, Pentatone  A/B , This is a drill"},
    { "DAY": 20190325,"NAME": "BTA130", "STREAMNAME": "Instant Purification, Pentatone  A/B , This is a drill"},
    { "DAY": 20190326,"NAME": "BTA130", "STREAMNAME": "Instant Purification, Pentatone  A/B , This is a drill"},
    { "DAY": 20190327,"NAME": "BTA130", "STREAMNAME": "Instant Purification, Pentatone  A/B , This is a drill"},
 ]
 
 let res = arr.map(({DAY,STREAMNAME})=>[DAY,...STREAMNAME.split(', ')])
 
 console.log(res)

0
ответ дан Maheer Ali 31 March 2019 в 02:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: