设计的初衷是:文章列表页,如果用strip_tags删除了所有的样式,则首页的文章简介会显得很乱,没有样式。如果简单的用strip_tags保留p或者br,那么再截取字符串时会有p或者br被截断的情况。
设计思路为:保留p和br,然后替换p为br;再以br为分隔符对整个文章进行分隔。
具体代码如下:可直接使用
/** * 长文章分段 * @param string $article 文章内容 * @param number $return_number 文章字节限制 * @return array */ private function ContentAddpage($content,$return_number=800){ $return_content = ""; //返回的字符串 $current_num = 0; //当前字符串长度 $return_content_num = 0; //上次字符串截取后的长度;用来处理最后数组中字数过长的case. $page_num_word = array();//以br为分隔符使用preg_split分隔字符串生成的数组; $content = strip_tags($content,'<p>,<br>'); $content = preg_replace("/<p(.*?)>/m", "<br>", $content); $content = str_replace("</p>","", $content); $content = preg_replace("/<br(.*?)>/m", "<br>", $content); $content_info = preg_split("/\<br\>/",$content);//根据字符串确定段落 $art_num = count($content_info);//确定段落数 for($i=0;$i <= $art_num-1;$i++){ $page_num_word[$i] = strlen($content_info[$i]); $current_num += $page_num_word[$i];//得到字数 if ($current_num <= $return_number){ $tmp_num = $return_number-$current_num; $return_content .= mb_substr($content_info[$i],0,$tmp_num)."<br>"; $return_content_num = $current_num; }else{ $tmp_num = $return_number-$return_content_num; $return_content .= mb_substr($content_info[$i],0,$tmp_num)."<br>"; break; } } return $return_content; }

tomakephpapplicationsfaster,关注台词:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

依赖注入(DI)通过显式传递依赖关系,显着提升了PHP代码的可测试性。 1)DI解耦类与具体实现,使测试和维护更灵活。 2)三种类型中,构造函数注入明确表达依赖,保持状态一致。 3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

databasequeryOptimizationinphpinvolVolVOLVESEVERSEVERSTRATEMIESOENHANCEPERANCE.1)SELECTONLYNLYNESSERSAYCOLUMNSTORMONTOUMTOUNSOUDSATATATATATATATATATATRANSFER.3)

phpisusedforsenderemailsduetoitsbuilt-inmail()函数andsupportiveLibrariesLikePhpMailerandSwiftMailer.1)usethemail()functionforbasicemails,butithasimails.2)butithasimimitations.2)

PHP性能瓶颈可以通过以下步骤解决:1)使用Xdebug或Blackfire进行性能分析,找出问题所在;2)优化数据库查询并使用缓存,如APCu;3)使用array_filter等高效函数优化数组操作;4)配置OPcache进行字节码缓存;5)优化前端,如减少HTTP请求和优化图片;6)持续监控和优化性能。通过这些方法,可以显着提升PHP应用的性能。

依赖性注射(DI)InphpisadesignPatternthatManages和ReducesClassDeptions,增强量产生性,可验证性和Maintainability.itallowspasspassingDepentenciesLikEdenceSeconnectionSeconnectionStoclasseconnectionStoclasseSasasasasareTers,interitationApertatingAeseritatingEaseTestingEasingEaseTeStingEasingAndScalability。

cachingimprovesphpermenceByStorcyResultSofComputationsorqucrouctationsorquctationsorquickretrieval,reducingServerLoadAndenHancingResponsetimes.feftectivestrategiesinclude:1)opcodecaching,whereStoresCompiledSinmememorytssinmemorytoskipcompliation; 2)datacaching datacachingsingMemccachingmcachingmcachings


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript开发工具