我创建了一个函数,它将 xml_paresr_create 和所有相关函数组合在一起。
<?php
function html_parse($file)
{
$array = str_split($file, 1);
$count = false;
$text = "";
$end = false;
foreach($array as $temp)
{
switch($temp)
{
case "<":
between($text);
$text = "";
$count = true;
$end = false;
break;
case ">":
if($end == true) {end_tag($text);}
else {start_tag($text);}
$text = "";
break;
case "/":
if($count == true) {$end = true;}
else {$text = $text . "/";}
break;
default:
$count = false;
$text = $text . $temp;
}
}
}
?>
输入值是一个字符串。
它调用 start_tag()、between() 和 end_tag() 函数,就像原始 XML 解析器一样。
但它有一些区别
- 它不检查代码。只将值重新发送给那三个函数,无论它们是否正确
- 它使用参数。例如:从标签 <sth b="42"> 发送 sth b="42"
- 它使用变音符号。原始解析器有时会将第一个变音符号出现之前的文本包装起来。
- 支持所有编码。如果输入是 UTF-8,则输出也将是 UTF-8
- 它使用字符串,而不是文件指针。
- 没有“保留 XML 名称”错误
- 不需要 doctype
- 它不处理注释、备注、编程指令等。只处理标签
处理函数的定义为
<?php
function between($stuff) {}
?>
没有其他属性