Как сравнивать текст из нескольких строк?

Punisher

Client
Регистрация
27.12.2014
Сообщения
43
Благодарностей
4
Баллы
8
В базе excel имеется текст, записан он в несколько строк 2-6. Заходя на сайт я получаю значение innertext в переменную и сравниваю его с тем что в базе. Хоть тексты и идентичны, проверка не срабатывает успешно. Заметил что это из-за того, что текст состоит из нескольких строк. Когда оставляю по одной строке, то все нормально, но меня это не устраивает :( Как можно решить?
 

doc

Client
Регистрация
30.03.2012
Сообщения
7 934
Благодарностей
4 030
Баллы
113
можно пример сравниваемых текстов?
 

Punisher

Client
Регистрация
27.12.2014
Сообщения
43
Благодарностей
4
Баллы
8
можно пример сравниваемых текстов?
Пример:

"Логика экшенов If и Switch реализована на базе JS (JavaScript) поэтому имеет свои синтаксические особенности.

Логика подразумевает возврат только двух значений - true (Истина) и false (Ложь)"

Если текст будет выглядеть вот так:

"Логика экшенов If и Switch реализована на базе JS (JavaScript) поэтому имеет свои синтаксические особенности. Логика подразумевает возврат только двух значений - true (Истина) и false (Ложь)"

то все будет работать. Но мне нужно что бы текст корректно сравнивался при первом варианте.
 

doc

Client
Регистрация
30.03.2012
Сообщения
7 934
Благодарностей
4 030
Баллы
113
нужно удалять переносы строк с 1го варианта через замену
 
  • Спасибо
Реакции: Punisher

ibred

Administrator
Команда форума
Регистрация
04.04.2015
Сообщения
3 612
Благодарностей
3 109
Баллы
113
Ранее многострочные тексты в переменных корректно сравнивались до того, как вышла версия ZP 5.8.0.2 по-моему.
Делайте Escape строки через экшен обработки текста, а после сравнивайте.
 
  • Спасибо
Реакции: Punisher

Punisher

Client
Регистрация
27.12.2014
Сообщения
43
Благодарностей
4
Баллы
8
Ранее многострочные тексты в переменных корректно сравнивались до того, как вышла версия ZP 5.8.0.2 по-моему.
Делайте Escape строки через экшен обработки текста, а после сравнивайте.
Да вот сделал через замену, как посоветовал doc, рег. выражением \s удалил все пробелы и переносы строк, получилась каша, но в принципе это пока меня устроит.
 

doc

Client
Регистрация
30.03.2012
Сообщения
7 934
Благодарностей
4 030
Баллы
113
Да вот сделал через замену, как посоветовал doc, рег. выражением \s удалил все пробелы и переносы строк, получилась каша, но в принципе это пока меня устроит.
я говорил о переносе строк(\r\n), а не о всех пробелах. Можно конечно и пробелы удалять, но из 2й строки тогда их тоже нужно удалять
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 449
Благодарностей
1 803
Баллы
113
Нужно делать не Escape строки, а подготовку JavaScript, тогда логика будет отрабатывать корректно.
Кроме переносив и прочих пробельных символов, в строке может быть много всего другого, что может помешать корректной отработке логического действия, к примеру кавычки - "
 

Punisher

Client
Регистрация
27.12.2014
Сообщения
43
Благодарностей
4
Баллы
8
Нужно делать не Escape строки, а подготовку JavaScript, тогда логика будет отрабатывать корректно.
Кроме переносив и прочих пробельных символов, в строке может быть много всего другого, что может помешать корректной отработке логического действия, к примеру кавычки - "
С двойными кавычками уже столкнулся, решил этот вопрос, взятием текста который нужно сравнивать в одинарные кавычки, тогда все стало работать корректно. Подготовку JavaScript тоже проверил, логика работает, спасибо.
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 449
Благодарностей
1 803
Баллы
113
Да, но в тексте могут попадаться и одинарные кавычки, так что это не самый грациозный вариант )
Всё же лучше использовать подготовку JavaScript
 
  • Спасибо
Реакции: Punisher и rostonix

rostonix

Administrator
Команда форума
Регистрация
23.12.2011
Сообщения
29 080
Благодарностей
5 626
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)