Найти / заменить после применения кода PHP - PullRequest
0 голосов
/ 07 декабря 2010

Я пытаюсь создать форму PHP, которая выводит пользовательский код JSON.

Взгляните: http://s194239704.onlinehome.us/bcembed/

Вывод кода JSON, который создает приложение, неверен.Мне нужно выполнить поиск и заменить, чтобы удалить некоторые запятые.

(Частичный) исходный код выглядит следующим образом:

{
<!-- ALBUM ART --><span <?php if($artdisplay!="block") echo "style=\"display:none;\""; ?>>"art": { "x": <?php echo $artx; ?>, "y": <?php echo $arty; ?>, "w": <?php if($artsize=="small") {echo "100";} elseif($artsize=="large") {echo "150";} ?>, "h": <?php if($artsize=="small") {echo "100";} elseif($artsize=="large") {echo "150";} ?>, "show": true },</span>
<!-- MAINTEXT --><span <?php if($maintextdisplay!="block") echo "style=\"display:none;\""; ?>>"maintext": { "x": <?php echo $maintextx; ?>, "y": <?php echo $maintexty; ?>, "w": <?php echo $maintextw; ?>, "h": <?php echo $maintexth; ?>, "show": true, "styles": { "fontSize": "<?php echo $maintextfontsize; ?>", "textAlign": "<?php echo $maintextalign; ?>", <?php if($maintextbold=="bold") echo "\"fontWeight\": \"" . $maintextbold . "\","; ?> <?php if($maintextitalic=="italic") echo "\"fontStyle\": \"" . $maintextitalic . "\","; ?> }},</span>
}

Я хочу запустить поиск / замену послеPHP применяется.Я попытался обернуть все это в поиск / замену JavaScript, потому что я думал, что PHP будет работать до кода Javascript.Но ничего не произошло.

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


Редактировать: я не знал о json_encode. Кажется, это работает, но я столкнулся сеще одна загвоздкаЯ хочу получить это в качестве вывода:

"currenttime": {
  "x": 0,
  "y": 0,
  "w": 30,
  "h": 30,
  "show": true,
  "styles": {
    "fontSize": "13",
    "fontWeight": "bold",
    "fontStyle": "null",
    "textAlign": "center"
  }
}

И вот код, который я пытаюсь использовать:

$jsonData['currenttime'] = array(
  'x' => $currenttimex,
  'y' => $currenttimey,
  'w' => $currenttimew,
  'h' => $currenttimeh,
  'show' => $currenttimedisplay=="block" ? true : false,
  ['styles'] = array(
    'fontSize' => $currenttimefontsize,
    'fontWeight' => $currenttimebold,
    'fontStyle' => $currenttimeitalic,
    'textAlign' => $currenttimealign
  )
);

Как будто мне нужен под-массив для стилей... как правильно отформатировать это?

1 Ответ

4 голосов
/ 07 декабря 2010

Вы в основном в порядке, но у вас есть некоторые синтаксические ошибки:

$jsonData['currenttime'] = array(
  'x' => $currenttimex,
  'y' => $currenttimey,
  'w' => $currenttimew,
  'h' => $currenttimeh,
  'show' => $currenttimedisplay =="block" ? true : false,
  'styles' => array(
    'fontSize' => $currenttimefontsize,
    'fontWeight' => $currenttimebold,
    'fontStyle' => $currenttimeitalic,
    'textAlign' => $currenttimealign
  )
);

Я бы не стал вручную с этим ... использовать json_encode вместо:

$jsonData = array();

$jsonData['art'] = array(
  'x' => $artx,
  'y' => $arty,
  'w' => $artsize=="small" ? 100 : ($artsize == 'large' ? 150 : null),
  'h' => $artsize=="small" ? 100 : ($artsize == 'large' ? 150 : null),
  'show' => true
);

echo json_encode($jsonData);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...