Denis_maker
@Denis_maker
✔ Инженер-программист. Веду весь спектр разработки

Как из строки получить данные в виде массива?

Получаю в своём node.js приложении ответ в виде строки с html разметкой. Мне нужно выдернуть оттуда все "sms = [ ... ]", и так, чтобы я мог работать с этими данными.
Вот часть ответа функции:
<body>
// . . .
  <script language="javascript">

    sms= ["","","","","","","","","","","","","","","","","","","","какой-нибудь текст"];
    sms_row_insert(l2_sms_store, sms, pos, 2);

    sms= ["текст текст текст","текст 2.","Текст 3","Ещё текст"];
    sms_row_insert(l3_sms_store, sms, pos, 3);

    sms= ["1","2","3","4","5","","","","","",""];
    sms_row_insert(l6_sms_store, sms, pos, 6);
  </script>
</body>


Вот ссылка на PHP код, который делает задуманное.. Как что-то подобное сделать в nodejs?
https://habr.com/ru/post/258561/
  • Вопрос задан
  • 85 просмотров
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега Node.js
Crazy on performance...
1. Нужно распарсить документ, например с помощью https://www.npmjs.com/package/parse5
2. Вытащить из html текст нужного скрипта.
3. Запустить этот скрипт в новом контексте, подсунув ему в глобальный объект функцию под именем sms_row_insert
https://nodejs.org/dist/latest-v16.x/docs/api/vm.h...
4. В подставленную функцию 2 аргументом придут нужные данные, их можно собрать в массив и обработать после выполнения скрипта либо обрабатывать на каждый вызов функции.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы