Wordpress 剥离短代码,将内容保持在中间

Wordpress 剥离短代码,将内容保持在中间,wordpress,shortcode,strip,Wordpress,Shortcode,Strip,这个问题背后的想法是获取用avada创建的帖子的摘录,但我不能从帖子内容中去掉短代码来显示帖子的摘录 以下是我的帖子示例(使用avada): 默认的The_摘录()因短代码而不起作用get_content()返回包含短代码的完整文章内容。使用strip\u shortcode()也会删除短代码之间的内容 所以我的计划是使用模式剥离短代码?并修剪消息以模拟摘录功能。 附言:这不管用 使用此正则表达式: $excerpt = get_the_excerpt(); $excerpt = preg_re

这个问题背后的想法是获取用avada创建的帖子的摘录,但我不能从帖子内容中去掉短代码来显示帖子的摘录

以下是我的帖子示例(使用avada):

默认的
The_摘录()因短代码而不起作用
get_content()
返回包含短代码的完整文章内容。使用
strip\u shortcode()
也会删除短代码之间的内容

所以我的计划是使用模式剥离短代码?并修剪消息以模拟摘录功能。 附言:这不管用

使用此正则表达式:

$excerpt = get_the_excerpt();
$excerpt = preg_replace("~(?:\[/?)[^/\]]+/?\]~s", '', $excerpt);

值得一提的是,您可以使用文本编辑器(例如Notepad++或EditPad Pro)使用以下正则表达式执行同样的操作:
\[/?[^/\]+/?\]

这将匹配所有的短代码,然后您可以不使用任何内容或空格来替换

$excerpt = get_the_excerpt();
$excerpt = preg_replace("~(?:\[/?)[^/\]]+/?\]~s", '', $excerpt);