php 实现HTML实体编号与非ASCII字符串相互转换类
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
HTML实体符号被用作实现保留字符(reserved characters)或者表达键盘无法输入的一些常用字符。在大多数浏览器中默认的字符集为ISO-8859-1。HTML实体符号我们在网页设计中经常用到。
例如:
字符 实体名称 实体编号 描述& & & and符号,与" " " 引号© © © 版权标志® ® » 注册标志™ ™ ™ 商标标志“ “ “ 左双引号” ” ” 右双引号‘ ‘ ‘ 做单引号’ ’ ’ 右单引号
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
因工作需要,编写了一个HTML实体编号与非ASCII字符串相互转换类,代码如下:
HtmlEntitie.class.php
<?php/** * HTML实体编号与非ASCII字符串相互转换类 * Date: 2016-09-07 * Author: fdipzone * Ver: 1.0 * * Func: * public encode 字符串转为HTML实体编号 * public decode HTML实体编号转为字符串 * private _convertToHtmlEntities 转换为HTML实体编号处理 */class HtmlEntitie{ // class start public static $_encoding = 'UTF-8'; /** * 字符串转为HTML实体编号 * @param String $str 字符串 * @param String $encoding 编码 * @return String */ public static function encode($str, $encoding='UTF-8'){ self::$_encoding = $encoding; return preg_replace_callback('|[^\x00-\x7F]+|', array(__CLASS__, '_convertToHtmlEntities'), $str); } /** * HTML实体编号转为字符串 * @param String $str HTML实体编号字符串 * @param String $encoding 编码 * @return String */ public static function decode($str, $encoding='UTF-8'){ return html_entity_decode($str, null, $encoding); } /** * 转换为HTML实体编号处理 * @param Mixed $data 待处理的数据 * @param String */ private static function _convertToHtmlEntities($data){ if(is_array($data)){ $chars = str_split(iconv(self::$_encoding, 'UCS-2BE', $data[0]), 2); $chars = array_map(array(__CLASS__, __FUNCTION__), $chars); return implode("", $chars); }else{ $code = hexdec(sprintf("%02s%02s;", dechex(ord($data {0})), dechex(ord($data {1})) )); return sprintf("&#%s;", $code); } }} // class end?>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
demo.php
<?phprequire 'HtmlEntitie.class.php';$str = '<p>更多资讯可关注本人微信号:fdipzone-idea</p><p><img border="0" src="https://img-blog.csdn.net/20141224160911852" width="180" height="180" title="破晓领域"></p><p>您的支持是我最大的动力,谢谢!</p>';// 字符串转为HTML实体编号$cstr = HtmlEntitie::encode($str);echo '字符串转为HTML实体编号'.PHP_EOL;echo $cstr.PHP_EOL.PHP_EOL;// HTML实体编号转为字符串echo 'HTML实体编号转为字符串'.PHP_EOL;echo HtmlEntitie::decode($cstr);?>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
输出:
字符串转为HTML实体编号<p>更多资讯可关注本人微信号:fdipzone-idea</p><p><img border="0" src="https://img-blog.csdn.net/20141224160911852" width="180" height="180" title="破晓领域"></p><p>您的支持是我最大的动力,谢谢!</p>HTML实体编号转为字符串<p>更多资讯可关注本人微信号:fdipzone-idea</p><p><img border="0" src="https://img-blog.csdn.net/20141224160911852" width="180" height="180" title="破晓领域"></p><p>您的支持是我最大的动力,谢谢!</p>
- 1
- 2
- 3
- 4
- 5
两种都可以在浏览器正常显示,如下图:
源码下载地址:点击查看
给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks |
'Isn't this fun?'
|
‘Isn’t this fun?’ |
Quotes |
"Isn't this fun?"
|
“Isn’t this fun?” |
Dashes |
-- is en-dash, --- is em-dash
|
– is en-dash, — is em-dash |
创建一个自定义列表
- Markdown
- Text-to-HTML conversion tool
- Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ(z)=∫0∞tz−1e−tdt .\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
ganttdateFormat YYYY-MM-DDtitle Adding GANTT diagram functionality to mermaidsection 现有任务已完成 :done, des1, 2014-01-06,2014-01-08进行中 :active, des2, 2014-01-09, 3d计划一 : des3, after des2, 5d计划二 : des4, after des3, 5d
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
mermaid语法说明 ↩︎
注脚的解释 ↩︎
php 实现HTML实体编号与非ASCII字符串相互转换类相关推荐
- java 判断非ascii字符_文件名中的JavaMail和非ASCII字符
我可以在 JavaMail中发送具有非ascii文件名的附件,但我无法下载它们.我特意为那些文件名包含非ascii字符的附件获取java.io.FileNotFoundException. 仅供参考: ...
- android 文件名 标题,有什么方法可以让Android的默认浏览器识别Content-Disposition:attachment下载中的非ASCII文件名?...
首先,我很确定这不是重复,因为我已经在StackOverflow和其他地方研究了这个主题很长一段时间.已经提出了类似的问题,但没有人得到满意的回答. 过去的相关(但不完全相同)问题: 我也完全了解使用 ...
- python构建字典查大写英文字母ascii编码_python – 字典中ISO短代码的国家名称,如何处理非ascii字符...
我正在制作一个带有国家/地区短代码的网络应用程序(谷歌应用程序引擎从请求标题中获取),我想获得国家/地区名称(全名),而不仅仅是2个字母的首字母缩写. 我尝试制作一个python字典,但它打破了bkz ...
- sql查询非ascii字符_SQL替换:如何在SQL Server中替换ASCII特殊字符
sql查询非ascii字符 One of the important steps in an ETL process involves the transformation of source dat ...
- 使用IDE宏遍历代码中的非ASCII字符
在产品开发的时候,虽然大家知道需要做I18N的支持.不过在开发代码的过程中,由于需要首先关注逻辑实现,所以文件中也难免会hardcode中文文字什么的.在代码的UI描述和业务逻辑都很稳定后,最后还需要 ...
- H3C模拟器中文路径问题(提示:“当前系统用户名中包含非ASCII字符”! )方法尝试:
H3C模拟器中文路径问题(提示:"当前系统用户名中包含非ASCII字符"! )方法尝试: 我的电脑->属性->高级系统设置->高级->环境变量,分别点击TM ...
- 奔腾处理器_编号和非编号的奔腾处理器之间有什么区别?
奔腾处理器 With the variety in names and so-called types of Pentium processors over the years, it can be ...
- H3C模拟器 用户名包含非ASCII字符启动失败 解决方案/windows中文用户名修改
前言:全网最简单的方法 很多学习网络的小伙伴都会遇到这样的问题 提示 :当前系统用户名中包含非ASCII字符,HCL启动失败 目录 前言:全网最简单的方法 失败原因分析: 如何判断自己设置的账户名是否 ...
- matlab报错问题处理,函数或变量无法识别,不受支持的符号、不可见的字符或非 ASCII 字符的粘贴———卸载之前
matlab报错问题处理,, 文本字符无效.请检查不受支持的符号.不可见的字符或非 ASCII 字符的粘贴. matlab里面缺少自带函数处理办法: 1.比较好的方法是重装. 2.也可以缺哪个文件,就 ...
最新文章
- 线性代数里的最小二乘法介绍
- CTF-压缩包密码CRC爆解工具安装
- 01.analyzer简介及char_filter组件
- 19岁白帽子通过bug悬赏赚到一百万美元--转
- 聊聊Interlocked.CompareExchange吧?
- 掌握新手学车技巧对于新手来说是非常重要的
- matlab保存colormap失败
- listview android:cacheColorHint,android:listSelector属性作用
- python session模块_Python requests模块session代码实例
- 【调试手段】之valgrind在ARM上的交叉编译
- WCF分布式开发常见错误(17):无法启动MSMQ服务
- 微信开发之JSSDK权限配置,服务器端获取签名等参数(java实现)
- Openssl建立CA系统
- 解决cmd中tomcat中文乱码问题
- matlab常用函数总结
- 您需要计算机管理员提供的权限才能更改,您需要管理员权限才能删除此文件夹...
- python框架支持套接字么_Python的框架比较:Django,金字塔,水瓶,Sanic,旋风,BottlePy等等...
- 线上数码商城小程序开发,尽享购物乐趣
- mac系统可以进行软件测试吗,iPhone和Mac如何加入Apple Beta版软件测试计划
- 如何将夜晚图片转化为白天图片 matlab,Python|记一次图片夜景效果尝试