我正在尝试使用我主题的头文件中的函数从当前页面的帖子内容创建一个自动生成的摘录。帖子摘录将用作页面的元描述。一旦你将帖子内容变成字符串变量,有人可以告诉我你怎么做这个吗?
有点棘手的部分是,为了预测后摘录的可行停止点,我想指定截止点是文本第一段的结尾。
因此,将整个帖子内容加载到我正在使用的字符串中是没有意义的。我可以抓住第一段而不必加载整个帖子内容字符串吗?
而且我不确定如何在php中测试它。正则表达式是唯一的方法吗?
答案 0 :(得分:1)
你can't parse HTML with regex。帖子以HTML格式存储(即<p></p> <br />
等)。
我还假设您正在一个包含大量现有帖子的博客上实现这一点。
你能做的是:
检索帖子并通过XML Parser运行它。抓住第一段。对于这么简单的任务来说,这是非常昂贵的。
在帖子中使用快速标记来表示摘录停止点,从其左侧的所有内容中删除HTML。与<-- more -->
代码类似。
在每个帖子中存储一个摘录,我相信WP已经有了这方面的设施。
如果你可以简单地选择摘录而不必为了使用它而进行任何额外的摆弄会更容易,所以处理它的时间是保存帖子的时间。
所以,如果你最初可以选择每个帖子,解析它,获取第一段并将其插入另一个表,然后让你的插件在保存每个新帖子时这样做,你就回家了。当然,如果编辑了一个帖子(使其成为可选项),你就会更新相同的内容。
请稍等,请不要在WP中引入使用正则表达式解析上下文无关语言的插件。它只是在寻找麻烦。