$str = '举头望明月低头思故乡';

$width = 18;

$fontsize = 18;

$num = $width/$fontsize;

/**

* 自动给文字增加换行

* @param int $str 字符串

* @param int $num 字数 一个汉字算1位,2个字母或者数字为1位

* @param string $line_break 换行符号 \n

* @return string 返回字符串

*/

function break_string($str,$num){

preg_match_all("/./u", $str, $arr);//将所有字符转成单个数组

//print_r($arr);

$strstr = '';

$width = 0;

$arr = $arr[0];

foreach($arr as $key=>$string){

$strlen = strlen($string);//计算当前字符的长度,一个字母的长度为1,一个汉字的长度为3

//echo $strlen;

if($strlen == 3){

$width += 1;

}else{

$width += 0.5;

}

$strstr .= $string;

//计算当前字符的下一个

if(array_key_exists($key+1, $arr)){

$_strlen = strlen($arr[$key+1]);

if($_strlen == 3){

$_width = 1;

}else{

$_width = 0.5;

}

if($width+$_width > $num){

$width = 0;

$strstr .= "\n";

}

}

}

return $strstr;

}

echo break_string($str,$num,'\\n');

php text换行_php实现文字换行相关推荐

  1. 微信小程序view、text换行

    微信小程序之view,text换行 view换行:white-space:pre-line; text换行:word-break:break-all; 非学,无以致疑:非问,无以广识

  2. jtopo node.text换行_求助:jtopo node文字换行问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在jtopo 生成前,粘贴以下代码 CanvasRenderingContext2D.prototype.wrapText = function(str, ...

  3. php 文字水印换行,php实现文字换行以及thinphp5.1水印自定义位置

    最近要做图片生成图片水印与文字水印,但是遇到了一些小问题,tp5.1的图片类库只提供了9个位置,那图片水印如何自定义位置?文字水印,字数过多,水印超出了图片如何解决? 1.文字自动换行 /** * [ ...

  4. svg text换行_5分钟看懂SVG反爬虫原理与绕过实战 | 知了干货分享

    SVG反爬虫不同于字体反爬虫,它巧妙的利用css 与 svg的关系,将字符映射到网页中,看起来虽然正常,但是却抓取不到有效内容.本文带你深入浅出,破了SVG反爬虫的套路,学会之后,可应用于某点评网. ...

  5. 微信公众号消息text换行问题

    首先确定微信上消息文本换行是采用 \n 换行的. 错误做法: 推送到公众号的消息文本采用的是单引号包含内容.这样是不行的,不会换行,会原样返回 [php] view plaincopy print? ...

  6. SWT之Text换行

    之前也用过很多次Text,但是一直没有注意过这个问题,最近突然来了一个需求,Text要支持换行,也没考虑过这个问题,以为用的时候直接new一个出来就支持换行的,但是,没想到默认是不支持换行的,问了一大 ...

  7. php mysql text换行符_请教php配合mysql的换行符和空格字符问题

    你的位置: 问答吧 -> PHP -> 问题详情 请教php配合mysql的换行符和空格字符问题 我通过form表单的text框把一大段文字,使用php写道了mysql的数据库中. 这段文 ...

  8. php mysql 换行_php去除换行

    ***PHP 去除换行符 PHP在不同的系统中,换行是不同的 Linux: Windows:\r mac:\r 所以去除回车换行的方法: 1.使用php定义好的变量(比较好的方法,推荐) $str=  ...

  9. 中文里带半角空格导致的Text换行问题[Unity]

    0x01 问题 最近策划反映了个问题,游戏里的多行文本会出现提前换行的问题,如下图所示: 文本错误地提前换行,导致第一行文本后面有大块空白区域 通过观察可以发现,当字符串中带有半角空格,且半角空格后面 ...

  10. php 写入txt换行_php 写入txt文件内容换行的方法

    今天在利用 php 脚本写一个关于写入 txt 文件内容换行的逻辑时,发现其中的学问挺大的,下面就来详细的来说一下,有需要的就拿去吧.在不同的系统下,txt 文件的换行符是不一样的,比如: windo ...

最新文章

  1. Android5.1.1 - zygote中获取系统服务时抛出异常
  2. LVS(12)——sh
  3. vue 获取url地址的参数_2020年 vue常见面试问题总结(干货)!
  4. C++程序设计(第2版)课后习题答案--第11章
  5. ANTLR 4(一)Getting Started
  6. Ajax学习总结+案例
  7. tomcat配置及其中部分目录作用虚拟路径虚拟主机
  8. 网站布局中遇到的一些问题
  9. 蓝桥杯 ALGO-100 算法训练 整除问题
  10. 数据结构与算法之-----图(拓扑排序)
  11. H.264的三种开源编码器比较
  12. 自定义设置软件的提示声音
  13. 中国无线电频率分配表
  14. python导出pdf_python生成pdf
  15. 分析 PPTV 视频真实播放地址全过程(Java版)
  16. tcsc工作原理matlab仿真,基于Matlab的TCSC建模与仿真研究.doc
  17. 七牛云配置怎么配CDN
  18. 权重初始化方法及适用情况
  19. envoy实现_使用Envoy实现一键部署项目
  20. GDAL+Basemap+IDW(反距离权重)代替ARCPY,制作温度、降雨分布图

热门文章

  1. linux的users命令,linux users命令详解
  2. linux cd 命令详解,Linux命令详解之–cd命令
  3. 局域网传输文件_如何“互传文件”?简单几步,方便快捷
  4. c语言什么是关键字,c语言关键字是什么
  5. APP测试—专项测试概念
  6. Android原生开发学习笔记(java)
  7. R语言入门(2)——R包的安装
  8. 基于python+django框架+Mysql数据库的新闻信息管理系统设计与实现
  9. # Unity 自学与进阶必会目录
  10. 【Linux】UNIX环境高级编程(知识点概括)