php - 应用 PHP 代码后查找/替换

标签 php javascript replace

我正在尝试构建一个输出自定义 JSON 代码的 PHP 表单。

看看: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
  )
);

这就像我需要一个样式子数组......格式化它的正确方法是什么?

最佳答案

你基本上没问题,但有一些语法错误:

$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);

关于php - 应用 PHP 代码后查找/替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4371101/

相关文章:

javascript - 时刻给了我无效的日期

php - PHP 中的 Walking Dom 将找到的字符串列表替换为 "HTML text"

php - 在php中使用函数查询mysql数据库

php - Eloquent/SQL - 获取查询的行号(排名)

php - 费用追踪器

java - 适用于 Java、PHP 和 Python 的开源队列

javascript - 具有相同排序过滤器的多个数据表

javascript - 我可以在多个 HTML 页面中使用套接字吗?

java - 我无法让 Replace/replaceAll 工作

javascript - 我如何使用正则表达式将这个 CSS block 转换为 LESS?