PHP 限制输出内容的字数

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一、contentWordNumLimit($content, $maxWordNum)

1 作用描述:内容格式化(英文单双引号替换为中文,回车换行替换为html中的br标签,\n替换为空格), 限制输出内容的字数,超过的部分用省略号代替。2 参数:$content:要处理的字符串$maxWordNum:要限制的字数。正值,限制的字数不超过该值;负值,不限制字数;默认值是  -1

二、PHP函数介绍

1 nl2br(string)

(1)函数作用:在字符串中的每个新行(\n)之前插入HTML换行符(<br/>).(2)参数介绍:string:必需。规定要检查的字符串。

2 preg_replace(miexed $pattern, mixed $replacement, mixed $subject[, int $limit = -1[, int &$count]])

(1)函数作用:执行一个正则表达式的替换和搜索。搜索subject中匹配pattern的部分,以replacement进行替换。返回值:如果subject是一个数组,preg_replace()返回一个数组,其他情况下返回一个字符串。如果匹配被查找到,替换后的subject被返回;其他情况下,返回没有改变的subject。如果发生错误,返回null;如果发生错误,返回NULL。(2)参数介绍”pattern:要搜索的模式。可以是一个字符串或字符串数组。replacement:用于替换的字符串或字符串数组。如果这个参数是一个字符串,并且pattern是一个数组,那么所有的模式都使用这个字符串进行替换。如果pattern和replacement都是数组,每个pattern使用replacement中对应的元素进行替换。如果replacement中的元素比pattern中的少,多出来的pattern使用空字符串进行替换。replacement中可以包含后项引用\\n或(php 4.0.4以上可以用)$n,语法上首选后者。每个这样的引用将被匹配到第n个捕获到的文本替换。n可以是0-99,\\0和$0代表完整的模式匹配文本。捕获子组的序号计数方式为:代表捕获子组的左括号从左到右,从1开始数。。如果要在replacement中使用反斜线,必须使用4个("\\\\\",译注:因为这首选是php字符串,经过转义后,是两个,再经过正则表达式引擎后才被认为是一个原文反斜线)。当在替换模式先工作并且后项引用后面紧跟着需要时另外一个数组(比如:在一个匹配模式后紧接着增加一个原文数字),不能使用\\1这样的语法来描述后项引用。比如,\\11经会使用preg_replace()不能理解你希望的是一个\\1后项引用紧跟着一个原文1,是爱上一\\11后项引用后面不跟任何东西。这种情况下解决方案是使用\${1}1。这样子创建了一个独立的$1后项引用,一个独立的原文1.subject:要进行搜索和替换的字符串或字符串数组。如果subject是一个数组,搜索和替换会在subject的每一个元素上进行,并且返回值也会是一个数组。limit:每个模式在每个subject上进行替换的最大次数。默认是-1(无限)。count:如果指定,将会被填充为完成的替换次数。

3 mb_substr(string $str, int $start[, int $length [, string $encoding]])

(1)函数作用:获取字符串的部分。根据字符数执行一个多字节安全的substr()操作。位置从str的开始位置进行计数。第一个字符的位置是0,第二个字符位置是1,以此类推。(2)参数介绍:str:从该string中提取字符串start:str中要使用的第一个字符的位置。length:str中药使用的最大字符数。encoding:encoding参数为字符编码。如果省略,则使用内部字符编码。

三、 PHP函数

<!-- lang: php -->
<?php 
<!-- lang: php -->header("Content-type: text/html; charset=utf-8");
<!-- lang: php -->/**
<!-- lang: php -->*
<!-- lang: php -->*@param string $content 内容
<!-- lang: php -->*@param int $maxWordNum 最多输出的字数
<!-- lang: php -->*/
<!-- lang: php -->function contentWordNumLimit($content, $maxWordNum = -1){
<!-- lang: php -->$count = 0;
<!-- lang: php --><!-- lang: php -->$patterns = array();
<!-- lang: php -->$patterns[0] = '/\'/';    //中文单引号
<!-- lang: php -->$patterns[1] = '/\"/';    //中文双引号
<!-- lang: php -->$patterns[2] = '/\n/';
<!-- lang: php --><!-- lang: php -->$replacements = array();
<!-- lang: php -->$replacements[0] = '‘';
<!-- lang: php -->$replacements[1] = '“';
<!-- lang: php -->$replacements[2] = ' ';
<!-- lang: php --><!-- lang: php -->if($maxWordNum > 0 && mb_strlen($content, 'utf-8') > $maxWordNum){
<!-- lang: php -->$content = nl2br(mb_substr($content, 0, $maxWordNum, 'utf-8').'......');
<!-- lang: php -->$content = preg_replace($patterns, $replacements, $content);
<!-- lang: php -->}else{
<!-- lang: php -->$content = preg_replace($patterns, $replacements, $content);
<!-- lang: php -->}
<!-- lang: php -->rerturn $content;
<!-- lang: php -->}
<!-- lang: php --><!-- lang: php -->
$content = "春江潮水连海平, 海上明月共潮生。\r\n滟滟)随波千万里, 何处春江无月明。\r\n江流宛转绕芳甸, 月照花林皆似霰。\r\n空里流霜不觉飞, 汀上白沙看不见。\r\n江天一色无纤尘, 皎皎空中孤月轮。\r\n江畔何人初见月? 江月何年初照人?\r\n人生代代无穷已, 江月年年望(一作“只”)相似。\r\n不知江月待何人, 但见长江送流水。\r\n白云一片去悠悠, 青枫浦上不胜愁。\r\n谁家今夜扁舟子? 何处相思明月楼?\r\n可怜楼上月徘徊, 应照离人妆镜台。\r\n玉户帘中卷不去, 捣衣砧上拂还来。\r\n此时相望不相闻, 愿逐月华流照君。\r\n鸿雁长飞光不度, 鱼龙潜跃水成文。\r\n昨夜闲潭梦落花, 可怜春半不还家。\r\n江水流春去欲尽, 江潭落月复西斜。(古音xiá)\r\n斜月沉沉藏海雾, 碣石潇湘 无限路。\r\n不知乘月几人归, 落月摇情满江树。";
<!-- lang: php -->
$limit = 100;
<!-- lang: php -->
$newContent =   contentWordNumLimit($content, $limit);
<!-- lang: php -->
echo '《春江花月夜》原诗句:<br>'.$content;
<!-- lang: php -->
echo '<br>';
<!-- lang: php -->
echo '~~~~~~~~~~~~~~~~~~';
<!-- lang: php -->
echo '<br>';
<!-- lang: php -->
echo '《春江花月夜》限制100字诗句:<br>'.$newContent;
<!-- lang: php -->
?>运行结果:
《春江花月夜》原诗句:
春江潮水连海平, 海上明月共潮生。 滟滟)随波千万里, 何处春江无月明。 
江流宛转绕芳甸, 月照花林皆似霰。 空里流霜不觉飞, 汀上白沙看不见。江天一色无纤尘, 皎皎空中孤月轮。 江畔何人初见月? 江月何年初照人? 
人生代代无穷已, 江月年年望(一作“只”)相似。 不知江月待何人, 但见长江送流水。 
白云一片去悠悠, 青枫浦上不胜愁。 谁家今夜扁舟子? 何处相思明月楼? 
可怜楼上月徘徊, 应照离人妆镜台。 玉户帘中卷不去, 捣衣砧上拂还来。 
此时相望不相闻, 愿逐月华流照君。 鸿雁长飞光不度, 鱼龙潜跃水成文。 
昨夜闲潭梦落花, 可怜春半不还家。 江水流春去欲尽, 江潭落月复西斜。
(古音xiá) 斜月沉沉藏海雾, 碣石潇湘 无限路。 不知乘月几人归, 落月摇情满江树。
~~~~~~~~~~~~~~~~~~
《春江花月夜》限制100字诗句:
春江潮水连海平, 海上明月共潮生。
滟滟)随波千万里, 何处春江无月明。
江流宛转绕芳甸, 月照花林皆似霰。
空里流霜不觉飞, 汀上白沙看不见。
江天一色无纤尘, 皎皎空中孤月轮。
江畔何人......

转载于:https://my.oschina.net/syc2013/blog/175435

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/55588.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

孩子写作业比较磨蹭,家长如何处理?

在生活中我们发现&#xff0c;很多孩子都特别磨蹭&#xff0c;比如吃饭磨蹭&#xff0c;收拾东西磨蹭&#xff0c;写作业磨蹭&#xff0c;明明很快就能完成的事情&#xff0c;到他们手下却会一拖再拖。有时候家长会很着急&#xff0c;催促厉害了&#xff0c;他们还会闹情绪&…

减轻教师作业批改负担的神奇—每日交作业之手机扫描批改

给教师们介绍一款免费又实用的客观题自动批改的产品 简介&#xff1a;手机扫描即可实现客观题的自动批改 特点&#xff1a; 1.无需特定纸张&#xff0c;大大减少纸张成本&#xff1b;无纸张大小限制 2.无需特定设备&#xff0c;使用微信小程序或者app扫描即可 3.即时生成详细的…

父母该如何辅导孩子做作业

孩 子们会对家庭作业存在抵触情绪&#xff0c;而对父母来说&#xff0c;如何让孩子完成作业&#xff0c;可能也是一个同样艰巨的任务。那么&#xff0c;让孩子完成作业的最好策略是什么&#xff1f;大人辅导孩子做作业和大人自己做作业之间的界限何在&#xff1f;小孩子做作业拖…

(转)来自一位作业辅导老师的经验分享

https://baijiahao.baidu.com/s?id1585466248617857440&wfrspider&forpc 最近看新闻&#xff0c;很多家长都会为孩子写作业的事头痛&#xff0c;作为一个曾经连续四年专职给孩子辅导作业&#xff0c;并让全班90%同学在其校期中、期末成绩提高的作业辅导老师忍不住分享…

分享一个撩妹神器,各种聊天话术技巧

现在的男孩子太不会聊天了&#xff0c;为了你们我也是操碎了心了&#xff0c;特意找了一款神器分享大家 分享薇 ggvv1992 祝大家早日脱单

恋爱话术库

前言 想要成功找到女朋友&#xff0c;高情商的撩妹思维非常重要&#xff0c;相信大家平时也看到了很多撩妹教学也学习了很多撩妹子技巧&#xff0c;但不可死记硬背&#xff0c;多去领悟其中的高情商思维&#xff0c;它才是核心要点。 因为每个女生的生存环境和经历是一样的&a…

聊天开头一般说什么好?聊天技巧幽默追女孩子

聊天开头一般说什么好&#xff1f;我们的第一个默契就是我不说话&#xff0c;她也沉默......,下来小编为大家带来聊天技巧幽默追女孩子&#xff0c;感兴趣的朋友快来看看吧。 聊天开头一般说什么好? 第一句话&#xff1a; 1&#xff0c;我们的第一个默契就是我不说话&#x…

恋爱话术小程序源码-土味情话,恋爱导师支持多种流量主模式

恋爱话术小程序源码-土味情话,恋爱导师支持多种流量主模式 源码简介源码演示下载地址 源码简介 恋爱话术小程序源码-土味情话 恋爱导师支持多种流量主模式 你猜的不错,这就是一款恋爱话术小程序 该款小程序相对来说还是挺强大的 这款小程序基本分段都是和外面几千块几百块的分…

恋爱话术库.免费版专为直们准备的恋聊天神器不知道怎么聊天的看过来

简介&#xff1a; 恋爱话术库一款可以帮你解决以上烦恼的App&#xff0c;海量话术库&#xff0c;遇到不知道怎么回复女生时&#xff0c;来这里搜一下&#xff0c;N精彩回复供您选择&#xff0c;让您和女生聊天不再烦恼。 &#xff1d;学会绵绵情话&#xff0c;享受美好爱情&a…

HomeKit、米家、智汀智能家居应该如何确保用户的安全和隐私

智能家居行业发展迅速&#xff0c;各类智能家居设备在一点一点的步入我们的家庭中。 但智能家居设备毕竟是物联网设备&#xff0c;在网络安全和隐私泄漏方面&#xff0c;大家还是存有疑惑的&#xff0c;人们的担忧开始浮出水面。由于过度依赖云基础设施和互联网连接&#xff0…

华为米家智能家居背后一些你不了解的小细节

目前市场上的智能家居种类繁多&#xff0c;相信大家要是想要了解的话肯定看得头疼&#xff0c;一时间不知道该从何下手&#xff0c;所以这一期我们就来聊一聊关于智能家居背后一些不为人知的小知识。 目前智能家居平台或品牌分两种&#xff1a;to c 的 和 tob 的&#xff0c;意…

小米要用 AI + IoT 做年轻人的第一套智能家居

今天&#xff0c;在小米 AIoT 开发者大会现场&#xff0c;雷军喊出了“AI IoT 是小米未来的核心战略”。同时&#xff0c;小米和宜家正式官宣在一起&#xff0c;宜家全系智能照明产品将接入小米 IoT 平台&#xff0c;可通过米家 App 及小米的小爱同学进行实时控制。 就这样&am…

除了小米、Homekit、欧瑞博等智能家居品牌,这款智能生态值得看

智能家居&#xff0c;这个概念对我们来说既熟悉也陌生&#xff0c;在未来科幻题材的电影中&#xff0c;我们经常看到主人公的家里充满各种高科技的东西&#xff0c;我们都会觉得很酷炫&#xff0c;恨不得里面的主人公就是自己。 例如2022年的背景冬奥会&#xff0c;那个机器人餐…

中控屏成智能家居新宠?

今年伊始&#xff0c;智能中控屏就火出了圈。据悉&#xff0c;今年3月份以来&#xff0c;智能家居领域的巨头玩家们米立、华为、萤石、小米、海尔智家旗下三翼鸟、欧瑞博、涂鸦智能等&#xff0c;都纷纷推出了智能中控屏产品。一时之间&#xff0c;智能中控屏成为了全屋智能领域…

智能家居中控屏(二):产品设计

第一部分主要介绍智能家居产品的定义、起源&#xff0c;本部分是第二部分&#xff0c;主要是中控屏产品的设计&#xff08;非设计一款智能中控屏&#xff09;&#xff0c;一人之言&#xff0c;仅供参考&#xff08;手动狗头&#xff09;。 本篇文字内容较多&#xff0c;介意者…

智能触摸面板开关一Homekit智能家居

触摸开关&#xff0c;即通过触摸方式控制的墙壁开关&#xff0c;其感官场景如同我们的触屏手机&#xff0c;只需手指轻轻一点即可达到控制电器的目的&#xff0c;随着人们生活品质的提高&#xff0c;触摸开关将逐渐将换代传统机械按键开关。 触摸开关控制原理 触摸开关我们把…

小米电视安装 Plex 打造家庭影院

背景 最近突然想重温教父&#xff0c;本来想着直接投屏就可以&#xff0c;后来看了别人搭建的基于 NAS 的家庭影院很动心&#xff0c;也想依葫芦画瓢做一个&#xff0c;跟对象申请经费的时候被拒了&#xff0c;理由是有这钱还不如开个会员直接看。 我寻思不同电影在不同的平台…

Yandex:你不可错过的全能搜索引擎

目录 前言一、Yandex网站介绍1-1、网站介绍1-2、优势 二、Yandex网站使用技巧2-1、Yandex搜索引擎2-2、Yandex Maps2-3、Yandex Mail2-4、Yandex Games2-5、Yandex Images2-6、Yandex Video2-7、Yandex.Translate 结语 前言 andex是一家俄罗斯的互联网公司&#xff0c;成立于19…

视频中的硬字幕该如何提取和翻译?

硬字幕通常是指已经嵌入视频内部的文字&#xff0c;编辑和播放软件是无法将其剥离的。如果要把视频字幕提取并翻译、最后合成视频&#xff0c;大概要用到OCR、视频还原、翻译、句子简化、视频布局计算、音视频等各项技术。 随着AI人工智能在2023年的大火&#xff0c;现在有没有…

翻译视频硬字幕的难点、流程和新进展

硬字幕通常是指已经嵌入视频内部的文字&#xff0c;编辑和播放软件是无法将其剥离的。如果要把视频字幕提取并翻译、最后合成视频&#xff0c;大概要用到OCR、视频还原、翻译、句子简化、视频布局计算、音视频等各项技术。 随着AI人工智能在2023年的大火&#xff0c;现在有没有…