@morozover said in Как извлечь текстовое описание кода ответа сервера?:
Иногда сервер отвечает кодом с описанием:
Сервер, вероятно, отвечает все таки только кодом, без его описания. Описание на скриншоте уже кто-то добавляет.
@Fox все же почти получилось победить. там действительно нужно пропустить код через компрессор. однако, почему-то с помощью экшена выполнить код не получается заменить все ненужные пробелы...
было:
...</tbody></table></td> </tr> </tbody></table> </div> </body></html>
стало:
</tbody></table></td></tr></tbody></table></div> </body></html>
в некоторых местах почему-то пробел не удалился, что мешает корректной замене кода на странице.
Выполнял замену таким образом:
[[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML]].replace(/\"\n"/g,"");
[[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\"\t"/g,"");
[[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\> </g,"><");
[[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\> </g,"><");
[[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/"/g,'\\"');
Может есть способ более надежный, не подскажешь?
@Alstellar said in Редактирование кода:
@Fox все же почти получилось победить. там действительно нужно пропустить код через компрессор. однако, почему-то с помощью экшена выполнить код не получается заменить все ненужные пробелы...
было:...</tbody></table></td> </tr> </tbody></table> </div> </body></html>стало:
</tbody></table></td></tr></tbody></table></div> </body></html>в некоторых местах почему-то пробел не удалился, что мешает корректной замене кода на странице.
Выполнял замену таким образом:[[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML]].replace(/\"\n"/g,""); [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\"\t"/g,""); [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\> </g,"><"); [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/\> </g,"><"); [[SHABLON_PAGE_HTML_REPLACE]]=[[SHABLON_PAGE_HTML_REPLACE]].replace(/"/g,'\\"');Может есть способ более надежный, не подскажешь?
Должна сработать простая регулярка
\s+
проще всего использовать модуль "регулярные выражения", действие "Заменить строку"

Тестовый скрипт
@Fox совет с регулярками сработал, спасибо, с помощью них подогнал код 1в1 с тем, что получается после компрессии. Возникла другая проблема теперь - в скрипте так и не выполняется замена кода. Однако, если я получившийся после преобразований код выведу в лог, скопирую его оттуда и вставлю в переменную - в таком случае замена срабатывает. Не понимаю, из-за чего подобное может быть
@Alstellar said in Редактирование кода:
@Fox совет с регулярками сработал, спасибо, с помощью них подогнал код 1в1 с тем, что получается после компрессии. Возникла другая проблема теперь - в скрипте так и не выполняется замена кода. Однако, если я получившийся после преобразований код выведу в лог, скопирую его оттуда и вставлю в переменную - в таком случае замена срабатывает. Не понимаю, из-за чего подобное может быть
Скорее всего в переменной у вас массив, а регулряные выражения работают со строками
@Fox просто даже разница в том, что если я копирую код с онлайн компрессора руками - в текстовый файл сохраняется одной строкой код...если все тоже самое делаю в басе - сохраняется многострочный код
P.S. просто удалил "переносы" строк и всё заработало =)
@Alstellar said in Редактирование кода:
P.S. просто удалил "переносы" строк и всё заработало =)
На будущее, проще всего помочь решить проблему будет если вы приложите тестовый скрипт. Это избавит других пользователей от необходимости гадать
@Alstellar said in Редактирование кода:
@Fox понимаю, что так проще, но данная часть скрипта доступна лишь после авторизации и ещё пары манипуляций, завязанных на предыдущих данных... Не представлялось возможным выделить лишь необходимую часть скрипта и кода сайта
Ну вы столкнулись с проблемой замены текста, тестовый скрипт можно было сделать просто сохранив код страницы и описав, что вы хотите из него получить
@Fox добрый вечер!
К сожалению, моя старая проблема вернулась и на этот раз все мои костыли здесь бессильны... Помоги, пожалуйста.
Суть такая - необходимо вставить html-шаблон в поле ввода. Полный код шаблона задаю переменной в одну строку - выполнение js на элементе поля ввода просто молча ничего не делает. Если я копирую значение заданной переменной с кодом, полезу в код руками прямо на той же странице и вставлю его - все работает.
Раньше банально помогало пропустить исходный код шаблона через определенный компрессор, но он накрылся, а работоспособной альтернативы для конкретного проекта так и не нашел.
Пример скрипта прилагаю (нужна гугл почта)
Тест_шаблон.xml