Вставка переменных в ссылку с помощью фигурных скобок {}

doran7

Новичок
Впервые столкнулся с таким синтаксисом, но он работает:
Код:
$burl = 'http://'.$_SERVER['SERVER_NAME'].'/';
$bbcp1 = "
<div style=\"display:inline-block; margin: 3px 0px 0px 0px; \">
<a href = '#' title='большой' onclick=\"return insert_text('[size=18px]','[/size]')\"><img src='{$burl}psdv/snips/img/bbhcode/s1.png' alt='большой' /></a>
";
Интересует вот этот сегмент кода:
Код:
<img src='{$burl}psdv/snips/img/bbhcode/s1.png' alt='большой' />
а именно, вставка переменной:
{$burl}

Никогда не сталкивался раньше с синтаксисом вставки переменной в ссылку посредством фигурных скобок {}. Но все работает, проверял на разных ссылках.

Вопрос к корифеям: где подробнее прочитать про такой способ вставки переменной в ссылку (посредством фигурных скобок) ?
 

doran7

Новичок
Все, разобрался. Вот описание:
Сложный (фигурный) синтаксис
Он называется сложным не потому, что труден в понимании, а потому что позволяет использовать сложные выражения.
Любая скалярная переменная, элемент массива или свойство объекта, отображаемое в строку, может быть представлена в строке этим синтаксисом. Просто запишите выражение так же, как и вне строки, а затем заключите его в { и }. Поскольку { не может быть экранирован, этот синтаксис будет распознаваться только когда $ следует непосредственно за {. Используйте {\$, чтобы напечатать {$.

Взято отсюда:
http://www.php.net/manual/ru/language.types.string.php

Может, кому пригодится для вставки переменных в ссылки и прочий код.
 
Последнее редактирование:

doran7

Новичок
c0dex, да, смотри раздел "Сложный (фигурный) синтаксис". Там и примеры есть, но не все правильные, надо проверять на практике.
 

vasinsky

Новичок
в апострофах (одинарных кавычках) - php не обрабатывается.

т.е. , например
PHP:
$str = 'Ого-го';
echo 'Погуляли, что - {$str}';
работать не будет
а
PHP:
$str = 'Ого-го';
echo "Погуляли, что - {$str}";
отработает как должен

Но по мне так - читабельней использовать конкатенацию
PHP:
$str = 'Ого-го';
echo 'Погуляли, что - '.$str;
ну это уже дело вкуса
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Ну тут в случае с двойными кавычками вовсе не нужны {}
 

vasinsky

Новичок
ну это я написал в контексте вопроса ТС ) раз уж хочет {} - ради бога
 

С.

Продвинутый новичок
Может, кому пригодится для вставки переменных в ссылки и прочий код.
doran7, я не понял, так можно вставлять переменные только в ссылки? А если это не ссылка, а скажем ячейка таблицы "<td>text</td>", то уже может не сработать?
 

vasinsky

Новичок
doran7, я не понял, так можно вставлять переменные только в ссылки? А если это не ссылка, а скажем ячейка таблицы "<td>text</td>", то уже может не сработать?
да ему вообще эти фигурные скобки там нафиг не нужны. пусть тока строку в двойных кавычках держит
 

doran7

Новичок
Ну тут в случае с двойными кавычками вовсе не нужны {}
Конечно, в том примере фигурные скобки не нужны. А вот в моем примере кода в первом посте я не знаю, как без них обойтись.
Вообще, в описании сказано, что фигурный синтаксис (с {}) - для сложных выражений.
 

doran7

Новичок
doran7, я не понял, так можно вставлять переменные только в ссылки? А если это не ссылка, а скажем ячейка таблицы "<td>text</td>", то уже может не сработать?
Я этого не говорил. Фигурный синтаксис, судя по описанию, работает везде в строках, заключенных в двойные кавычки. Просто именно при включении переменных в ссылки нередко бывают сложные случаи, где и нужны фигурные скобки.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Надо брать редактор с подсветкой синтаксиса и все встанет на места
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Даже не знаю, что могло тебя рассмешить во вполне серьезном сообщении. Автор у нас тут уже отличился, давай ты не будешь идти по похожей тропке?
 

vasinsky

Новичок
я конешь озадачен твоим беспокойством об моём пути, но то что написано - уже прочитано.
это мы уже флудим, а задача решена.

пс
Ищу соратников по использованию и модификации форумного движка FluxBB, ветка 1.5 (v1.5.3).
я думаю тс в курсе про блокнот и для чего его не нужно использовать
 
Сверху