
Lever API 的职位描述字段 description 会自动去除 HTML 标签,导致列表、加粗等格式丢失;应改用 descriptionHtml 字段获取保留原始 HTML 结构的富文本内容,并确保安全输出。
如何在 lever api 中正确显示带格式的职位描述 html 内容:lever api 的职位描述字段 `description` 会自动去除 html 标签,导致列表、加粗等格式丢失;应改用 `descriptionhtml` 字段获取保留原始 html 结构的富文本内容,并确保安全输出。
在 Lever 招聘系统集成中,一个常见但易被忽略的问题是:职位描述(如岗位职责、任职要求)在 Lever 后台编辑时支持富文本(如
- 、、 等),但通过 API 获取后却变成纯文本——所有格式消失,仅剩换行符或连字符拼接的“扁平化”字符串。
- content.description:纯文本摘要(已移除所有 HTML 标签,仅保留可读内容,适合用于 meta 描述或简略预览);
- content.descriptionHtml:完整保留原始编辑器生成的 HTML 结构(含
、
- 、、、等),这才是渲染格式化内容的正确数据源。
✅ 正确做法:将代码中
$jr['data'][$x]['content']['description']
替换为
$jr['data'][$x]['content']['descriptionHtml']
例如,在您现有的 foreach 渲染逻辑中,修正关键行如下:
'<div class="job-description">' . htmlspecialchars_decode($jr['data'][$x]['content']['descriptionHtml'], ENT_QUOTES) . '</div>'⚠️ 注意事项:
- 不要使用 strip_tags() 或 htmlentities() 二次处理 descriptionHtml——这会再次破坏标签;
- 若需防范 XSS(尤其当 Lever 内容来源不可完全信任时),推荐使用 HTMLPurifier 进行白名单过滤(允许
等安全标签),而非简单 htmlspecialchars();- htmlspecialchars_decode(..., ENT_QUOTES) 是安全前提下的必要操作:因 Lever 返回的 HTML 实体(如 <, >)可能已被自动转义,需还原为真实标签才能被浏览器解析;
- 始终验证字段是否存在,避免 PHP 警告:
$descHtml = !empty($jr['data'][$x]['content']['descriptionHtml']) ? htmlspecialchars_decode($jr['data'][$x]['content']['descriptionHtml'], ENT_QUOTES) : '<p>No description available.</p>';
? 小结:Lever 的设计意图清晰——description 供机器/SEO 使用,descriptionHtml 专为前端渲染而生。只需切换字段并合理解码,即可原样呈现 Lever 编辑器中的排版效果,无需额外解析或重构 HTML。
- 、、、
根本原因在于 Lever API 明确区分了两个字段:
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











