2

テーマの抜粋を表示する次のコード行があります。

<p class="desc"><?php echo mb_strimwidth(strip_tags(get_the_content('')), 0, 220, '...'); ?></p>

このコードを挿入して、抜粋からショートコードを削除するにはどうすればよいですか?

$text = preg_replace( '|\[(.+?)\](.+?\[/\\1\])?|s', '', $text);

私はちょうど PHP を切り刻んでいるので、これについて少しだけ助けが必要です。

ありがとう!

4

3 に答える 3

3

車輪の再発明の代わりに、WordPressのコア関数strip_shortcodes()を使用することをお勧めします。

<p class="desc"><?php echo mb_strimwidth(strip_shortcodes(strip_tags(get_the_content(''))), 0, 220, '...'); ?></p>
于 2013-02-25T21:43:22.513 に答える
0

この場合、正規表現を使用しないでください。

REGEX は抜粋から独自のメモを削除します。たとえば、登録されたショートコードを検出して削除する組み込み関数を使用することをお勧めします。
Hello, on May 27 [1995] , blabla

strip_shortcodes

add_filter('the_excerpt','myRemoveFunc'); function myRemoveFunc(){
    return mb_strimwidth(strip_shortcodes(get_the_content()), 0, 220, '...');
}
于 2015-04-30T10:04:24.273 に答える