您的位置 首页 php

用php操作DOM,方便、实用

PHP最新项目speedx

前段时间无聊的时候写了一个小项目,我给他取名叫speedx,随便取的一个名,原码我把它放在了这里:

,目前还没有完全完工,还没有达到我的预期,不过现在基本核心功能已经可以用了,用起来还是很爽的。现在来说说他的用途:

1: 创建DOM节点,目前所有HTML标签节点都能创建,包括最新的H5标签, 如:

$test = DOCTYPE_HTML_4_01_STRICT;

$domset[“doctype”] = create_node(DOCTYPE_HTML_4_01_STRICT);//创建doctype类型节点

$domset[“div”] = create_node(‘<div class = “loginbox” id = “testloging” style = “width:110px;height:200px; border :1px solid black;” >’);//创建doctype类型节点

$domset[“style”] = create_node(“<style type=’text/ CSS ‘>”);

$domset[” script “] = create_node(“<script>”);

$domset[“img”] = create_node(“<img src=testimg.jpg width=100px>”);

$domset[“br”] = create_node(“<br>”);

$domset[“text”] = create_nodeText(“这是内部文本内容”);

$domset[“_null_”] = creat_node(null);//创建空节点,或直接传入null;

2: 对于插入子节点、兄弟节点、属性操作等也是很简单的:

<?php

//div节点添加子节点

$node_div = create_node(‘<div class = “loginbox” id = “testloging” style = “width:110px;height:200px;border:1px solid black;” >’);

$node_span_c = create_node(“<span id=test class=alert>”);

$node_div->append($node_span_c);

printvar($node_div);

//ul节点添加节点集

$node_ul = create_node(“<ul>”);

$ul_li_set = create_nodeSet(“li”,5)->appendChild(“<img src=test/img.jpg>”);

$node_ul->append($ul_li_set);

printvar($node_ul);

//style节点添加class节点

$style = create_node(“<style type=text/css>”);

$class_alert = create_styleClass(“.alert”);

$item1 = create_classItem(“display: flex ;”);

$item2 = create_classItem(“float: auto;”);

$class_alert->append([$item1,$item2]);

$style->append($class_alert);

3:以对象的方式创建CSS样式,并且自动做浏览器匹配,自动在相应的CSS属性前加前缀,也就是说书写的时候我们只要按标准的样式写一遍就行,本项目会自动添加其它浏览对应的样式匹配。比如:

我们写这样一个样式属性:

$itembox = create_classItem(“display:inline-box;”);

就会生成以下的完整样式属性:

-ms-display:inline-box;

-webkit-display:-webkit-inline-box;

-moz-display:-moz-inline-box;

display:inline-box;

是不是很实用,对于创建一个style样式就更简单了。如,我们创建一个 .from 的样式类,如下

$class4 = create_styleClass(‘@keyframes testanimations’);

$class4_1 = create_styleClass(“from”);

$item1_class4_1 = create_classItem(‘transform: translate(0, 0);’);

$class4_1->append($item1_class4_1);

$class4_2 = create_styleClass(“20%”);

$item2_class4_1 = create_classItem(‘transform: translate(20px, 20px);’);

$class4_2->append($item2_class4_1);

$class4_3 = create_styleClass(“40%”);

$item3_class4_1 = create_classItem(‘transform: translate(40px, 0);’);

$class4_3->append($item3_class4_1);

$class4->append([$class4_1,$class4_2,$class4_3]);

生成的.from类如下:

@-moz-keyframes testanimations{

from{-ms-transform:translate(0,0);-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0);}

20%{-ms-transform:translate(20px,20px);-webkit-transform:translate(20px,20px);-moz-transform:translate(20px,20px);transform:translate(20px,20px);}

40%{-ms-transform:translate(40px,0);-webkit-transform:translate(40px,0);-moz-transform:translate(40px,0);transform:translate(40px,0);}

}

@-webkit-keyframes testanimations{

from{-ms-transform:translate(0,0);-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0);}

20%{-ms-transform:translate(20px,20px);-webkit-transform:translate(20px,20px);-moz-transform:translate(20px,20px);transform:translate(20px,20px);}

40%{-ms-transform:translate(40px,0);-webkit-transform:translate(40px,0);-moz-transform:translate(40px,0);transform:translate(40px,0);}

}

@keyframes testanimations{

from{-ms-transform:translate(0,0);-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0);}

20%{-ms-transform:translate(20px,20px);-webkit-transform:translate(20px,20px);-moz-transform:translate(20px,20px);transform:translate(20px,20px);}

40%{-ms-transform:translate(40px,0);-webkit-transform:translate(40px,0);-moz-transform:translate(40px,0);transform:translate(40px,0);}

}

可以看出,已经做了自动匹配了,目前匹配的浏览器有:火狐、谷哥、安卓、苹果、 微软 、还欧明。

4:节点筛选过滤器,这里不做介绍了。

5:远程站点数据获取,就是从其它站点上的网页上弄点数据什么的,目前还没有做到网站数据抓取,不过这也是后期完善的一部分。

其它的项目还有很多,详情我会在下面这个博客上逐渐登出来。 欢迎大家多多捧场,站点刚刚弄的,里面目前没什么内容,我会尽快多放些干货放上面,这年头,满屏都是抖奶的年代,我们程序员坚守一方净土不容易,希望大家多多支持我,谢谢。

文章来源:智云一二三科技

文章标题:用php操作DOM,方便、实用

文章地址:https://www.zhihuclub.com/151106.shtml

关于作者: 智云科技

热门文章

网站地图