Как использовать # в строке в PHP

#php #jquery #wordpress

#php #jquery #wordpress

Вопрос:

Пытаюсь создать плагин для wordpress, который использует jquery:

 echo "$('#datepicker').datepicker({ ..... ";
  

# работает как комментарий, я пытался # остановить это, но это не сработало. Есть идеи?

Код:

 $dispWidget = $dispWidget.'<script type="text/javascript">';
$dispWidget = $dispWidget.'$(function() {";
$dispWidget = $dispWidget."$('#datepicker').datepicker({";
$dispWidget = $dispWidget."changeMonth: true,";
$dispWidget = $dispWidget."changeYear: true,";
  

Комментарии:

1. Не могли бы вы опубликовать весь свой код, пожалуйста. Всего несколько строк

2. если она находится в середине " цитаты, ее не следует анализировать как комментарий

3. Должно быть, проблема в другом месте, это работает нормально: ideone.com/iTbnc

4. $dispWidget = $dispWidget.'<тип сценария =»текст / javascript»>’; $dispWidget = $dispWidget.’$(функция() {«; $dispWidget = $dispWidget.»$(‘#datepicker’).datepicker({«; $dispWidget = $dispWidget.»Месяц изменений: истина»; $dispWidget = $dispWidget.»Год изменений: истина».;

5. вызывает ошибку синтаксического анализа: синтаксическая ошибка, неожиданный T_VARIABLE

Ответ №1:

Если ошибка «Ошибка синтаксического анализа: непредвиденная T_VARIABLE», проблема на самом деле связана со знаком доллара.

Чтобы исправить это, используйте одинарные кавычки в ваших строках PHP и двойные кавычки в вашем JavaScript.

 echo '$("#datepicker").datepicker({ ..... ';
  

Одинарные кавычки также лучше подходят для повышения производительности.

Ответ №2:

Что на самом деле происходит, так это:

Вы открываете одинарную кавычку, затем закрываете ее (когда вы просто хотите добавить ее в строку), а затем добавляете хэш, вот так:

 '..stuff..'#other stuff'
  

Чего вы хотели, так это:

 '..stuff..'#other stuff'
  

Эта одинарная кавычка должна быть экранирована обратной косой чертой, чтобы рассматриваться как символ вместо закрывающей кавычки.

Комментарии:

1. это выдает ошибку: Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный T_VARIABLE

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