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