Проблемы с синтаксисом при вставке PHP-кода

Главные вкладки

Аватар пользователя alladdin alladdin 14 июня 2010 в 23:49

Добрый день,

Потребовалось вставить php-код на страницу на сайте под движком Drupal.
Код до сих пор живет и работает отдельно вполне нормально.
Проблема в том, что при вставке возникли проблемы с кодировкой, но я смог их все исправить, кроме одной строки. Она нереально "зашифрована".

Оригинальная страница была в Windows-1251. По крайней мере русский текст именно в ней.

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

После "Штирлица" в Notepad++:

$season_str .= sprintf("<option value=\"$lsid\" $add>с d/d по /d</option>", $d_f, $m_f, $d_t, $m_t);

Оригинальный файл в Notepad++:

$season_str .= sprintf("<option value=\"$lsid\" $add>с %02d/%02d по %02/%02d</option>", $d_f, $m_f, $d_t, $m_t);

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

$season_str .= sprintf("<option value=\"$lsid\" $add>с "d/"d по "/"d</option>", $d_f, $m_f, $d_t, $m_t);

сервер выдает:
Parse error: syntax error, unexpected T_STRING in /home/holiday/public_html/includes/common.inc(1696) : eval()'d code on line 538 << - это как раз эта строка

Если нужно, могу выложить весь код.

Спасибо за помощь!

Комментарии

Аватар пользователя alladdin alladdin 15 июня 2010 в 0:00

[b]Когда я вставляю оригинальный код, то ошибка:[/b]
Parse error: syntax error, unexpected '}' in /home/holiday/public_html/includes/common.inc(1696) : eval()'d code

Оригинальный код:

<?php$season_str .= sprintf("<option value=\"$lsid\" $add>с %02d/%02d по %02/%02d</option>", $d_f, $m_f, $d_t, $m_t); ?>

Аватар пользователя vgoodvin vgoodvin 15 июня 2010 в 8:57

ХЗ что у вас там с кодировкой, а проблема в том что не экранированы кавычки.

Попробуйте так:

<?php
$season_str 
.= sprintf('<option value="$lsid" $add>с %02d/%02d по %02/%02d</option>'$d_f$m_f$d_t$m_t);
?>

или так:

<?php
$season_str 
.= sprintf("<option value=\"$lsid\" $add>с \"d/\"d по \"/\"d</option>"$d_f$m_f$d_t$m_t); 
?>

или вот так:

<?php
$season_str 
.= sprintf("<option value=\"$lsid\" $add>с 'd/'d по '/'d</option>"$d_f$m_f$d_t$m_t); 
?>