如何使用PHP在JSON文件中动态添加HTML标记及双引号转义
PHP内置的json_encode()函数会自动按照JSON规范转义字符串中的双引号、特殊字符,完全不需要手动处理转义逻辑,具体实现步骤如下:
完整实现代码
<?php // 1. 获取CMS动态生成的HTML内容,这里替换为你自己的HTML生成逻辑 $dynamicHtml = '<main id="container"><div class="my-class">My data created my ProcessWire templates</div></main>'; // 2. 组装JSON需要的数组结构 $outputData = [ 'title' => 'Title', 'data' => $dynamicHtml ]; // 3. 生成合法JSON字符串 // JSON_PRETTY_PRINT 用于格式化输出JSON,方便阅读,不需要可以去掉 // JSON_UNESCAPED_UNICODE 用于避免中文被转义为Unicode编码,没有中文可以去掉 $jsonContent = json_encode($outputData, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); // 4. 将JSON写入目标文件 $savePath = './your-data.json'; file_put_contents($savePath, $jsonContent); ?>
生成的JSON文件内容和你给出的示例完全一致,json_encode会自动把HTML中的双引号转义为\",同时会处理其他可能破坏JSON结构的特殊字符,比手动转义更可靠。
小提示:如果运行后
json_encode返回null,大概率是你的HTML内容不是UTF-8编码,先把内容转为UTF-8编码即可。
内容的提问来源于stack exchange,提问作者JulesVau
相关产品推荐
相关产品推荐

