首页 后端开发 php教程 分析HTML,并将结果存到一个数组中。看看里面的注释吧。:)_PHP

分析HTML,并将结果存到一个数组中。看看里面的注释吧。:)_PHP

Jun 01, 2016 pm 12:28 PM
the 分析 注释 结果


           /* 

            * parseHtml.php 

            * Author: Carlos Costa Jordao 

* Email: carlosjordao@yahoo.com
            * 

            * My notation of variables: 

            * i_ = integer, ex: i_count 

            * a_ = array,       a_html 

            * b_ = boolean, 

            * s_ = string 

            * 

            * What it does: 

            * - parses a html string and get the tags 

            *   - exceptions: html tags like

, etc 

            * - At the end, the array will look like this: 

            *      ["IMG"][0]["SRC"] = "xxx" 

            *      ["IMG"][1]["SRC"] = "xxx" 

            *      ["IMG"][1]["ALT"] = "xxx" 

            *      ["A"][0]["HREF"] = "xxx" 

            * 

            */
 

          
function parseHtml( $s_str ) 

          
{ 

            $i_indicatorL
= 0; 

            $i_indicatorR
= 0; 

            $s_tagOption
= ""; 

            $i_arrayCounter
= 0; 

            $a_html
= array(); 

           
// Search for a tag in string 

            while( is_int(($i_indicatorL=strpos($s_str,"
                    // Get everything into tag... 

                    $i_indicatorL++; 

                    $i_indicatorR = strpos($s_str,">", $i_indicatorL); 

                    $s_temp = substr($s_str, $i_indicatorL, ($i_indicatorR-$i_indicatorL) ); 

                    $a_tag = explode( ' ', $s_temp ); 

                    // Here we get the tag's name 

                    list( ,$s_tagName,, ) = each($a_tag); 

                    $s_tagName = strtoupper($s_tagName); 

                    // Well, I am not interesting in
,
or anything else like that... 

                    // So, this is false for tags without options. 

                    $b_boolOptions = is_array(($s_tagOption=each($a_tag))) && $s_tagOption[1]; 

                    if( $b_boolOptions ) { 

                            // Without this, we will mess up the array 

                            $i_arrayCounter = (int)count($a_html[$s_tagName]); 

                            // get the tag options, like src="htt://". Here, s_tagTokOption is 'src'

and s_tagTokValue is '"http://"'



                            do { 

                              $s_tagTokOption = strtoupper(strtok($s_tagOption[1], "=")); 

                              $s_tagTokValue  = trim(strtok("=")); 

                              $a_html[$s_tagName][$i_arrayCounter][$s_tagTokOption] =

$s_tagTokValue; 

                              $b_boolOptions = is_array(($s_tagOption=each($a_tag))) &&

$s_tagOption[1]; 

                            } while( $b_boolOptions ); 

                    } 

            } 

            return $a_html; 

           } 



           ?>
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

便捷使用PyCharm快捷键实现多行注释 便捷使用PyCharm快捷键实现多行注释 Jan 27, 2024 am 08:02 AM

PyCharm多行注释快捷键:让代码注释更加便捷,需要具体代码示例在日常的编程工作中,代码注释是非常重要的一部分。它不仅可以提高代码的可读性和可维护性,还能帮助其他开发人员理解代码的意图和设计思路。然而,手动添加代码注释往往是一项耗时而繁琐的工作。为了让我们的代码注释更加高效,PyCharm提供了多行注释的快捷键。在PyCharm中,我们可以使用Ctrl+/

2 个月不见,人形机器人 Walker S 会叠衣服了 2 个月不见,人形机器人 Walker S 会叠衣服了 Apr 03, 2024 am 08:01 AM

机器之能报道编辑:吴昕国内版的人形机器人+大模型组队,首次完成叠衣服这类复杂柔性材料的操作任务。随着融合了OpenAI多模态大模型的Figure01揭开神秘面纱,国内同行的相关进展一直备受关注。就在昨天,国内"人形机器人第一股"优必选发布了人形机器人WalkerS深入融合百度文心大模型后的首个Demo,展示了一些有趣的新功能。现在,得到百度文心大模型能力加持的WalkerS是这个样子的。和Figure01一样,WalkerS没有走动,而是站在桌子后面完成一系列任务。它可以听从人类的命令,折叠衣物

如何在uniapp中实现数据统计和分析 如何在uniapp中实现数据统计和分析 Oct 24, 2023 pm 12:37 PM

如何在uniapp中实现数据统计和分析一、背景介绍数据统计和分析是移动应用开发过程中非常重要的一环,通过对用户行为的统计和分析,开发者可以深入了解用户的喜好和使用习惯,从而优化产品设计和用户体验。本文将介绍如何在uniapp中实现数据统计和分析的功能,并提供一些具体的代码示例。二、选择合适的数据统计和分析工具在uniapp中实现数据统计和分析的第一步是选择合

如何优化Java代码的可维护性:经验与建议 如何优化Java代码的可维护性:经验与建议 Nov 22, 2023 pm 05:18 PM

如何优化Java代码的可维护性:经验与建议在软件开发过程中,编写具有良好可维护性的代码是至关重要的。可维护性意味着代码能够被轻松理解、修改和扩展,而不会引发意外的问题或额外的工作量。对于Java开发者来说,如何优化代码的可维护性是一个重要课题。本文将分享一些经验和建议,帮助Java开发者提升其代码的可维护性。遵循规范的命名规则规范的命名规则能够使代码更易读,

如何在iPhone上为保存的密码添加注释 如何在iPhone上为保存的密码添加注释 Feb 28, 2024 pm 07:41 PM

iCloud钥匙串使您能够更方便地管理密码,无需依赖记忆或猜测网站或用户名。您可以通过在iCloud钥匙串中为应用程序和网站的现有密码添加注释来实现这一点。在这篇文章中,我们将解释如何为您保存在iPhone上的iCloud钥匙串中的密码添加注释。要求您需要满足一些要求才能在iCloud钥匙串中使用这项新功能。运行iOS15.4或更高版本的iPhone密码储存在iCloud钥匙串中的有效AppleID有效的互联网连接如何为保存的密码添加注释毋庸置疑,您应该在iCloudKeychain中存储一些密

PyCharm注释操作指南:优化代码编写体验 PyCharm注释操作指南:优化代码编写体验 Feb 21, 2024 pm 06:27 PM

PyCharm注释操作指南:优化代码编写体验在日常的代码编写中,注释是非常重要的一环。良好的注释不仅可以提高代码的可读性,还能帮助其他开发人员更好地理解和维护代码。PyCharm作为一款强大的Python集成开发环境,在注释方面也提供了丰富的功能和工具,可以极大地优化代码编写体验。本文将介绍如何在PyCharm中进行注释操作,以及如何利用PyCharm的注释

织梦CMS二级目录打不开的原因分析 织梦CMS二级目录打不开的原因分析 Mar 13, 2024 pm 06:24 PM

标题:解析织梦CMS二级目录打不开的原因及解决方案织梦CMS(DedeCMS)是一款功能强大的开源内容管理系统,被广泛应用于各类网站建设中。然而,有时候在搭建网站过程中可能会遇到二级目录无法打开的情况,这给网站的正常运行带来了困扰。在本文中,我们将分析二级目录打不开的可能原因,并提供具体的代码示例来解决这一问题。一、可能的原因分析:伪静态规则配置问题:在使用

分享PyCharm中快速注释代码的技巧,提高工作效率 分享PyCharm中快速注释代码的技巧,提高工作效率 Jan 04, 2024 pm 12:02 PM

效率提升!PyCharm中快速注释代码的方法分享在日常的软件开发工作中,我们经常需要注释掉一部分代码进行调试或者调整。如果手动逐行添加注释,这无疑会增加我们的工作量和耗费时间。而PyCharm作为一款强大的Python集成开发环境,提供了快速注释代码的功能,大大提升了我们的开发效率。本文将分享一些在PyCharm中快速注释代码的方法,并提供具体的代码示例。单

See all articles