php如何使HTML标签自动补全闭合函数

  介绍

这篇文章主要为大家展示了php如何使HTML标签自动补全闭合函数,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“php如何使HTML标签自动补全闭合函数”这篇文章吧。

HTML是什么

HTML的全称为超文本标记语言,它是一种标记语言,包含了一系列标签。通过这些标签可以将网络上的文档格式统一,使分散的互联网资源连接为一个逻辑整体,html文本是由html命令组成的描述性文本,html命令可以说明文字,图形,动画,声音,表格,链接等,主要和css + js配合使用并构建优雅的前端网页。

简单解释一些代码:
第一个~ (& lt;[^的在]+ ?祝辞)~如果
这个正则是匹配& lt;………在中的内容。简单说是所有的& lt;标签祝辞。
第二个~ & lt; ([a-z0-9] +)[^/祝辞]* ?/祝辞~如果
这个正则是匹配& lt;……/祝辞中的内容。是单闭合标签如& lt; br/比;
第三个~ & lt;/([a-z0-9] +)[^/祝辞]* ?祝辞~如果
这个正则是匹配& lt;/4侵械哪谌荨R簿褪墙崾昵┤? lt;/a>
第四个~ & lt; ([a-z0-9] +)[^/祝辞]* ?祝辞~如果
匹配& lt;……祝辞中的内容。这和第一个是不一样的,这一个是真正的html标签,因为html标签只有数字和字母,如:& lt; h2> & lt;/h2>
第五个~ & lt; !——* ?——祝辞~如果
不用解释了,HTMl的注释
剩下的可以看源代码了,php源码附件:

代码如下:

& lt; ? php /* *,   *,取HTML,并自动补全闭合,   *,   *,param  html 美元;   *,   *,param  length 美元;   *,   *,param 美元最终获得;   */,   function  subHtml (html、美元,长度=50美元),{,   时间=美元result  & # 39; & # 39;,,   数组$ tagStack =, ();,   将$ len =0;祝福;   contents 美元;=,preg_split (“~ (& lt;[^的在]+ ?祝辞)~ si",,美元html,, 1,, PREG_SPLIT_NO_EMPTY  |, PREG_SPLIT_DELIM_CAPTURE),,   foreach (contents 美元;as 标签美元),{,   if (修剪(标签),==,““),继续,,   if  (preg_match (“~ & lt ([a-z0-9] +)[^/祝辞]* ?/祝辞~ si",,标签美元)),{,   result 美元。=,标签;美元,   },else  if  (preg_match (“~ & lt;/([a-z0-9] +)[^/祝辞]* ?祝辞~ si",,标签,美元,$匹配)),{,   if  ($ tagStack [count ($ tagStack) 1],==, $匹配[1]),{,   最后(tagStack美元),,   result 美元。=,标签;美元,   },   },else  if  (preg_match (“~ & lt ([a-z0-9] +)[^/祝辞]* ?祝辞~ si",,标签,美元,$匹配)),{,   array_push (tagStack美元,,$匹配[1]),,   result 美元。=,标签;美元,   },else  if  (preg_match (“~ & lt !——* ?——祝辞~ si",,标签美元)),{,   result 美元。=,标签;美元,   {},else    if  (len 美元;+,mstrlen(标签),& lt;,美元长度),{,   result 美元。=,标签;美元,   len 美元;+=,mstrlen ($ tag),,   {},else    $ str =, msubstr($标签,,0,,length 美元;作用;len 美元;+,1),,   result 美元。=,str;美元,   休息,,   },   },   },while (!空(tagStack美元)),{,   result 美元。=,& # 39;& lt;/& # 39;,只最后(tagStack美元),只& # 39;祝辞& # 39;,,   },   return 结果;美元,   },/* *,   *,取中文字符串,   *,   *,param  string 美元;字符串,   *,   *,param  start 美元起始位,   *,   *,param  length 美元;长度,   *,   *,param  charset 美元;编码,   *,   *,param  dot 美元;附加字串,   */,   function  msubstr(字符串,美元,美元开始,长度,美元,美元dot =, & # 39; & # 39;,, charset 美元;=,& # 39;utf - 8 # 39;), {,   string 美元;=,str_replace(数组(& # 39;,amp; & # 39;,, & # 39;和“& # 39;,,& # 39;,lt; & # 39;,, & # 39;和gt; & # 39;,, & # 39;,, & # 39;),,数组(& # 39;,& # 39;,,& # 39;“& # 39;,,& # 39;& lt; & # 39;,, & # 39;祝辞& # 39;,,& # 39;,& # 39;),,美元字符串),,   if  (strlen(字符串),& lt;=,美元长度),{,   return 字符串;美元,   },   if (函数(字符集)美元,==,& # 39;utf - 8 # 39;), {,   $ n =, tn 美元;=,noc 美元;=,0;,   while  (n 美元;& lt;, strlen(字符串)美元),{,   $ t =,奥德($ string [$ n]);,   if  (t 美元;==,9,| |,t 美元;==,10,| |,(=32,& lt; t 美元;,,,t 美元;& lt;=, 126)), {,   将$ tn =1;祝福;   $ n + +,,   },elseif  (=194, & lt; t 美元;,,,t 美元;& lt;=, 223), {,   tn 美元;=,2,,   +=$ n  2,,   },elseif  (=224, & lt; t 美元;,,,t 美元;& lt;=, 239), {,   将$ tn =3;祝福;   +=$ n  3,,   },elseif  (=240, & lt; t 美元;,,,t 美元;& lt;=, 247), {,=$ tn  4,,   +=$ n  4,,   },elseif  (=248, & lt; t 美元;,,,t 美元;& lt;=, 251), {,   将$ tn =5;祝福;   +=$ n  5。,   },elseif  (==t 美元;252年,| |,t 美元;==,253),{,   将$ tn =6;祝福;   +=$ n  6。,   {},else    $ n + +,,   },   noc + +美元;,   if  (noc 美元;祝辞=,美元长度),{,   休息,,   },   },   if  (noc 美元;祝辞,美元长度),{,   n 美元;-=,tn;美元,   },   美元$ strcut =, substr(字符串,,0,,$ n),,   {},else    null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

php如何使HTML标签自动补全闭合函数