Как экранировать { в php строке?

148
07 июня 2019, 09:30
$mailbox = "{$host:993/imap/ssl}";

Код не работает

$mailbox = "\{$host:993/imap/ssl}";

\ - попадает в переменную

$mailbox = "{imap.mail.ru:993/imap/ssl}";

Работает как надо

Answer 1

Если переменную нужно вывести, просто добавьте ещё пару фигурных скобок:

echo  "{{$host}:993/imap/ssl}"; // {imap.mail.ru:993/imap/ssl}

Если переменную выводить не нужно:

Экранировать нужно не скобки, а признак переменной:

echo  "{\$host:993/imap/ssl}"; // {$host:993/imap/ssl}

По хорошему, проще использовать литерал без поддержки управляющих последовательностей:

echo  '{$host:993/imap/ssl}'; // {$host:993/imap/ssl}
Answer 2
$mailbox = '{'.$host.':993/imap/ssl}';
READ ALSO
Как сделать include в WP?

Как сделать include в WP?

Я хочу в шоткод добавить include файла html

109
Как можно проверить ссылку на вирусы?

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

Есть такая потребность как проверить ссылку, которую введет пользователь, на наличие вредоносных показателей, то есть имеется ли на сайте...

146
добавление записи в БД из формы

добавление записи в БД из формы

есть таблица "prosto", в ней есть поля "b", "cart", "data", из формы по кнопке должны отправляться данные в эту таблицу, если дата добавляется, то для остальных...

100
Получить значение в JSON от процедуры на PL\SQL (БД Oracle) и распарсить его на PHP

Получить значение в JSON от процедуры на PL\SQL (БД Oracle) и распарсить его на PHP

Есть процедура procedure some_procedure(id in integer, data_json out varchar2) , которая берет некоторый параметр и возвращает значения в строке формата JSONя пытаюсь получить...

149