我使用phppagebuilder编辑我的页面html内容,在mysql的pages表中,我在保存时生成了这个json代码:
{"html":["[block slug=\"contact\" id=\"IDL8P4JHM1GYPVX0\"]"],"components":[[{"tagName":"phpb-block","content":"","attributes":{"slug":"contact","id":"IDL8P4JHM1GYPVX0"}}]],"css":"* { box-sizing: border-box; } body {margin: 0;}","style":[],"blocks":{"en":{"IDL8P4JHM1GYPVX0":{"settings":{"attributes":{"style-identifier":"IDL8P4QRULUOPXC0"}},"blocks":[],**"html":** <- all page html is here我需要提取最后一个" html ":数据后面的“块”:[]检索我所有的html代码,以输出在我的php主页。
php主页输出:
$s = mysqli_query($db,"SELECT `data` FROM `pages` WHERE `id` = 1");
$row = mysqli_fetch_array($s);
echo $row['data'];但我知道所有的json密码..。我只需要建设者给我的html代码。
发布于 2022-10-02 10:34:56
你有两种方法来解决这个问题。首先,您可以获取所有数据并使用PHP解析它:
$s = mysqli_query($mysqli,"SELECT `data` FROM `pages` WHERE `id` = 1");
$row = mysqli_fetch_array($s);
$data = json_decode($row[0], true);
preg_match('/id="([^"]+)"/', $data['html'][0], $m);
$id = $m[1];
echo $data['blocks']['en'][$id]['html'] . PHP_EOL ;第二种方法是通过MySQL解析JSON:
$s = mysqli_query($mysqli,"SELECT `data`->\"$.blocks.en.*.html\" FROM `pages` WHERE `id` = 1");
$row = mysqli_fetch_array($s);
var_dump($row[0]); https://stackoverflow.com/questions/73923424
复制相似问题