php字符截取与过滤
Jun 06, 2016 pm 08:50 PM
1月19日,装扮成《白蛇传》中“白娘子”(中)的演员在南京玄奘寺“腊八节品腊八粥”活动上为市民盛粥。 [caption id="attachment_45" align="aligncenter" width="432"]<a href="http://cqtlmx.com/wp-content/uploads/2013/01/baili.jpg"><img class=" wp-image-45 lazy" src="/static/imghw/default1.png" data-src="http://cqtlmx.com/wp-content/uploads/2013/01/baili.jpg" alt="“白娘子”布施腊八粥(组图)" style="max-width:90%" style="max-width:90%"></a> “白娘子”布施腊八粥(组图)[/caption] 当日是中国传统的腊八节,南京玄奘寺熬制了咸、甜两种口味的上万份腊八粥,众多市民前来品粥祈福。 新华社记者孙参摄
以上代码截取掉HTML标签,图片啊、[caption 啊等。
目前我用的是
<?php echo mb_strimwidth(strip_tags(get_the_content()), 0, 120,"...");?>
问题:貌似HTML标签没有被过滤掉
回复内容:
1月19日,装扮成《白蛇传》中“白娘子”(中)的演员在南京玄奘寺“腊八节品腊八粥”活动上为市民盛粥。 [caption id="attachment_45" align="aligncenter" width="432"]<a href="http://cqtlmx.com/wp-content/uploads/2013/01/baili.jpg"><img class=" wp-image-45 lazy" src="/static/imghw/default1.png" data-src="http://cqtlmx.com/wp-content/uploads/2013/01/baili.jpg" alt="“白娘子”布施腊八粥(组图)" style="max-width:90%" style="max-width:90%"></a> “白娘子”布施腊八粥(组图)[/caption] 当日是中国传统的腊八节,南京玄奘寺熬制了咸、甜两种口味的上万份腊八粥,众多市民前来品粥祈福。 新华社记者孙参摄
以上代码截取掉HTML标签,图片啊、[caption 啊等。
目前我用的是
<?php echo mb_strimwidth(strip_tags(get_the_content()), 0, 120,"...");?>
问题:貌似HTML标签没有被过滤掉
我觉得这样的替换比较完美,而且兼容其它标签
$content = '1月19日,装扮成《白蛇传》中“白娘子”(中)的演员在南京玄奘寺“腊八节品腊八粥”活动上为市民盛粥。 [caption id="attachment_45" align="aligncenter" width="432"]<a href="http://cqtlmx.com/wp-content/uploads/2013/01/baili.jpg"><img class=" wp-image-45 lazy" src="/static/imghw/default1.png" data-src="http://cqtlmx.com/wp-content/uploads/2013/01/baili.jpg" alt="“白娘子”布施腊八粥(组图)" style="max-width:90%" style="max-width:90%"></a> “白娘子”布施腊八粥(组图)[/caption] 当日是中国传统的腊八节,南京玄奘寺熬制了咸、甜两种口味的上万份腊八粥,众多市民前来品粥祈福。 新华社记者孙参摄'; preg_replace(array("/]+>/s", "/\[[^\]]+\]/s"), '', $content);
话说[caption]
只算是BBcode不算是HTML标签吧,所以你用strip_tags
是木有效果的,所以你可以考虑先把BBcode转换为HTML标签再用strip_tags
就应该正常了吧。
如果格式都是这么统一的话,可以考虑用下面的代码:
$s = array('[caption', ']<a array></a><a>'); str_replace($s, $r, get_the_content());</a>
效率什么的我是不太清楚了,就当为你提供另外一种思路吧~
$pat[0]='/(\[caption)([\s|\S]+)\/>/'; $pat[1]='/\[\/caption\]/'; $str='[caption id="attachment_45" align="aligncenter" width="432"]<a href="http://cqtlmx.com/wp-content/uploads/2013/01/baili.jpg"><img class=" wp-image-45 lazy" src="/static/imghw/default1.png" data-src="http://cqtlmx.com/wp-content/uploads/2013/01/baili.jpg" alt="“白娘子”布施腊八粥(组图)" style="max-width:90%" style="max-width:90%"></a> “白娘子”布施腊八粥(组图)[/caption]'; echo preg_replace($pat,'',$str);
不知道lz的期望输出结果是什么.
如果是想删除整个shortcode [caption][/caption]
用wp内置的函数remove_shortcode或者remove_all_shortcodes
如果是想保留
"白娘子"布施腊八粥(组图)
也很简单.
$content = wp_strip_all_tags(str_replace(array('[',']'),array(''),$content));

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법
