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

一、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

PHP 限制输出内容的字数相关推荐

  1. pythonqt5plaintextedit某一行的内容_如何能够做到持续输出内容?

    我一直是一个喜欢输出的人,但由于对于自己输出的内容总有着非常高的要求,进而总觉得自己应该独立的拿出一大段时间去写作,才能够配得上自己的高质量输出,但最终的结果就是没有任何的文字输出,因为找出大段的时间 ...

  2. 使用grep过滤make的输出内容

    make的输出内容其实分为两种,有些是到标准输出,有些是到标准错误,由于标准输出和标准错误默认都是屏幕,所以平时区分不出来, 实际上一般是error和warning信息到标准错误,其余的到标准输出. ...

  3. php输出网络连接,如何打开php文件和输出内容

    php是什么文件?php文件如何打开?如何输出php内容?我们经常会遇到一些以php格式.php结尾的文件,对于不认识这种文件是什么,又不知道怎么打开php文件,下面网络自学网就来详细介绍什么php文 ...

  4. php 输出函数结果,PHP向浏览器输出内容的4个函数总结

    这篇文章主要介绍了PHP向浏览器输出内容的4个函数总结,本文总结的就是print().echo().printf().sprintf()这4个输出函数,需要的朋友可以参考下 /* * 0x01:pri ...

  5. CLion 控制台输出内容乱码问题的解决方法

    CLion 控制台输出内容乱码问题的解决方法 参考文章: (1)CLion 控制台输出内容乱码问题的解决方法 (2)https://www.cnblogs.com/flydangerfox/p/100 ...

  6. python中哪个函数是用于输出内容到终端的_尔雅通识课妇产科护理学(山东联盟-潍坊医学院)答案新版...

    Python 中,以下哪个函数是用于输出内容到终端的? 答:print 2018年8月27日,他强调,5年来,共建"一带一路"大幅提升了我国贸易投资自由化便利化水平,推动我国开放空 ...

  7. 通过过滤器控制页面输出内容

    在打开的页面中弹出一个对话框,可通过过滤器来控制页面输出的内容,进行实现在每个响应的页面中都弹出一个对话框的功能 在完成过滤任务时,将请求的对象返回到自定义的应答对象中,通过自定义应答对象对请求的数据 ...

  8. shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录sshpass 应用实践...

    在很多实践项目中,我们经常会通过SSH来进行认证,如通过SSH拷贝文件,虽然我们可以使用公钥与私钥实现ssh 无密码登录,在不同的服务器上又需要配对相应的密钥,切换用户麻烦等问题,在一些需要交互但会涉 ...

  9. Linux文本处理之printf:规定输出内容与样式 %规定内容样式 \规定排版样式

    知识点 [root@localhost ~]# printf '输出类型输出格式' 输出内容输出类型: %ns:输出字符串.n是数字指代输出几个字符 %ni:输出整数.n是数字指代输出几个数字 %m. ...

最新文章

  1. 用 go 实现跨平台 Autoit/AutoHotkey 和按键精灵功能示例代码
  2. redis -Spring与Jedis集群 Sentinel
  3. Ubuntu 安装LAMP ...
  4. 利用Java生成静态HMTL页面的方法收集
  5. 64位Ubuntu kylin 16.04下使用DNW下载uboot到tiny4412的EMMC
  6. mysql映射超_Hibernate的映射类型 hibernate mysql映射类型
  7. Laravel源码学习文章汇总
  8. jQuery 文件碎片
  9. mysql TIMESTAMP 报错
  10. C语言小游戏之贪吃蛇
  11. flash播放器android,Flash播放器
  12. 【直通车介绍】拼多多商家如何开直通车,如何开好直通车?
  13. imputation-综述文章:关于网络推理的scRNA序列插补工具基准突出了高稀疏性水平下的性能缺陷
  14. JavaScript在表格中实现九九乘法表
  15. 根据身份证号(18/15)计算年龄、出生日期、性别
  16. BASH文件操作备忘
  17. 2022最新!自动驾驶、计算机视觉和AI公司汇总
  18. 深入浅出matplotlib(99):散点图里自定义标记显示
  19. 兰州大学本科生发表31篇论文引关注!本人及校方回应
  20. python提取pdf表格数据并保存到excel中

热门文章

  1. 区块链技术到底是什么鬼(一)
  2. 白底黑字 or 黑底白字,眼睛更喜欢哪一个
  3. tf.data 加载图片
  4. 微服务之Hystrix(一):结合Eureka实现服务降级-服务熔断器处理
  5. 这个看起来有点简单!-实验吧
  6. SpringBoot+Vue前后端分离
  7. 《动手学习深度学习》李沫
  8. 8月2日第壹简报,星期二,农历七月初五
  9. 处理 -File“D:\Program”失败,因为该文件不具有 ‘.ps1‘ 扩展名。请指定一个有效...
  10. PLC控制系统与电网的接地方式