php возникли проблемы с включением JavaScript и цитаты? - PullRequest
0 голосов
/ 26 мая 2011

Вот мой код:

$buffer .= '<legend>'.$thisField.'</legend><input type="text" name="'.$thisField.'" id="'.$thisField.'"/> <a href="javascript:;" onClick="mcImageManager.browse({fields : 'url_abs'});">[Pick file]</a><br /><small>360px W x 240px H</small><br /><br />';

Это сбой Синтаксическая ошибка, неожиданная T_STRING

Я пробовал каждый тип комбинации одинарных, двойных кавычек и экранирования ??

Я в растерянности, Чего мне не хватает ??

*

спасибо !! * 1012

Ответы [ 4 ]

3 голосов
/ 26 мая 2011

Просто экранируйте кавычки внутри строки с обратной косой чертой:

$buffer .= '<legend>'.$thisField.'</legend><input type="text" name="'.$thisField.'" id="'.$thisField.'"/> <a href="javascript:;" onClick="mcImageManager.browse({fields : \'url_abs\'});">[Pick file]</a><br /><small>360px W x 240px H</small><br /><br />';

См. руководство по PHP :

Чтобы указать буквальную одинарную кавычку,экранируйте его обратной косой чертой (\).

2 голосов
/ 26 мая 2011

В таких случаях рекомендуется прибегать к HEREDOC строкам, также для удобства чтения:

$buffer .= <<<END
  <legend>$thisField</legend>
  <input type="text" name="$thisField" id="$thisField"/>
  <a href="javascript:;" onClick="mcImageManager.browse({fields : 'url_abs'});">[Pick file]</a>
  <br /><small>360px W x 240px H</small><br /><br />
END;

Это исключает необходимость в кавычках. И вы можете просто написать переменные $ как есть внутри такого блока.

1 голос
/ 26 мая 2011

Как говорит маркер, php потерпит неудачу около {fields : 'url_abs'}.Вы находитесь внутри одинарной строки в кавычках, поэтому вам придется избегать одинарных кавычек внутри строки: {fields : \'url_abs\'},

0 голосов
/ 26 мая 2011

Проблема заключается в одинарных кавычках вокруг url_abs.

...