您可以使用此功能wp_strip_all_tags
.
strlen( wp_strip_all_tags($post->post_content));
这样就可以去掉所有HTML标记。
只需要一点额外的细节,您可能还需要去除短代码。您可以使用此功能strip_shortcodes
你最终会得到这样的结果:
strlen( wp_strip_all_tags(strip_shortcodes($post->post_content)));
要将编码的实体转换为相应的字符串值,可以使用PHP函数
html_entity_decode
.
实例
" " </S<>;
is converted to
" " </S<>;
测试:
//CODE
var_dump($post->post_content);
var_dump(wp_strip_all_tags($post->post_content, true));
var_dump(html_entity_decode(wp_strip_all_tags($post->post_content, true)));
var_dump(html_entity_decode(strip_shortcodes(wp_strip_all_tags($post->post_content, true))));
//RESULTS
string \'áé´r´díó\' ñ " " </S<>; a
[gallery]\' (length=59)
string \'áé´r´díó\' ñ " " </S<>; a [gallery]\' (length=56)
string \'áé´r´díó\' ñ " " </S<>; a [gallery]\' (length=47)
string \'áé´r´díó\' ñ " " </S<>; a \' (length=38)
//CODE
var_dump(strlen(html_entity_decode(strip_shortcodes(wp_strip_all_tags($post->post_content, true)))));
var_dump(strlen(html_entity_decode(wp_strip_all_tags($post->post_content, true))));
var_dump(strlen(wp_strip_all_tags($post->post_content, true)));
//RESULTS
int 38
int 47
int 56
当我使用
var_dump
每个字符串都有其长度,但我将调用结果添加到
strlen
不管怎样,都要发挥作用。