Экранирование кавычек: различия между версиями

Материал из Planfix
Перейти к: навигация, поиск
(Новая страница: «{{#seo: |title=Экранирование ковычек |titlemode=append |keywords=Экранирование ковычек, планфикс, функции, ковычки, экранирование |description=Экранирование ковычек }} Если одним из аргументов любой функции является строка с кавычками внутри, тогда эти внутренние к...»)
 
Нет описания правки
 
(не показано 9 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{#seo:
{{#seo:
|title=Экранирование ковычек
|title=Экранирование кавычек
|titlemode=append
|titlemode=append
|keywords=Экранирование ковычек, планфикс, функции, ковычки, экранирование
|keywords=Экранирование кавычек, планфикс, функции, ковычки, экранирование
|description=Экранирование ковычек
|description=Экранирование кавычек
}}
}}
Если одним из аргументов любой [[Функции |функции]] является строка с кавычками внутри, тогда эти внутренние кавычки обязательно надо экранировать.
Если одним из аргументов любой [[Функции |функции]] является строка с кавычками (или другими спец. символами) внутри, тогда эти внутренние кавычки обязательно надо экранировать.


<pre>ФУНКЦИЯ("строка \"кавычка")</pre>
<pre>ФУНКЦИЯ("строка \"кавычка")</pre>




Например, есть строка:
Например, есть строка и вам надо получить ссылку:


<pre><a href="https://site.com/oferta/krem-1229">Крем для кожи</a></pre>
<pre><a href="https://site.com/oferta/krem-1229">Крем для кожи</a></pre>




Регулярным выражением получите ссылку. Для этого используйте функцию [[Функция REGEXPFIND |REGEXPFIND]], обязательно экранируйте внутренние кавычки вокруг ссылки (выделено красным):
Используйте функцию [[Функция REGEXPFIND |REGEXPFIND]], обязательно экранируйте внутренние кавычки вокруг ссылки (выделено красным):


<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">REGEXPFIND(<nowiki>{{Задача.Строка для ссылки}}</nowiki>;"(?<=href=<span style="color: red">\</span>").*?(?=<span style="color: red">\</span>")")</div>
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">REGEXPFIND(<nowiki>{{Задача.Строка для ссылки}}</nowiki>;"(?<=href=<span style="color: red">'''\'''</span>").*?(?=<span style="color: red">'''\'''</span>")")</div>




Строка 23: Строка 23:


<pre>https://site.com/oferta/krem-1229</pre>
<pre>https://site.com/oferta/krem-1229</pre>
== Все экранируемые спецсимволы ==
{| class="wikitable"
|-
! Написано внутри строки  !! !!  Останется при её обработке
|-
| \" || -> || "
|-
| \\ || ->|| \
|-
| \n || ->|| символ переноса строки
|-
| \t || ->|| символ табуляции
|}




== Перейти ==
== Перейти ==
*[[Функции]]
*[[Функции]]

Текущая версия от 11:45, 12 декабря 2023

Если одним из аргументов любой функции является строка с кавычками (или другими спец. символами) внутри, тогда эти внутренние кавычки обязательно надо экранировать.

ФУНКЦИЯ("строка \"кавычка")


Например, есть строка и вам надо получить ссылку:

<a href="https://site.com/oferta/krem-1229">Крем для кожи</a>


Используйте функцию REGEXPFIND, обязательно экранируйте внутренние кавычки вокруг ссылки (выделено красным):

REGEXPFIND({{Задача.Строка для ссылки}};"(?<=href=\").*?(?=\")")


В итоге в вычисляемом поле получите нужную ссылку:

https://site.com/oferta/krem-1229

Все экранируемые спецсимволы

Написано внутри строки Останется при её обработке
\" -> "
\\ -> \
\n -> символ переноса строки
\t -> символ табуляции


Перейти