分析HTML,并将结果存到一个数组中。看看里面的注释吧。:)_PHP
/*
* 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;
}
?>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PyCharm多行註解快速鍵:讓程式碼註解更便捷,需要具體程式碼範例在日常的程式設計工作中,程式碼註解是非常重要的一部分。它不僅可以提高程式碼的可讀性和可維護性,還能幫助其他開發人員理解程式碼的意圖和設計思路。然而,手動添加程式碼註解往往是一項耗時而繁瑣的工作。為了讓我們的程式碼註解更加高效,PyCharm提供了多行註解的快捷鍵。在PyCharm中,我們可以使用Ctrl+/

機器之能報道編輯:吳昕國內版的人形機器人+大模型組隊,首次完成疊衣服這類複雜柔性材料的操作任務。隨著融合了OpenAI多模態大模型的Figure01揭開神秘面紗,國內同行的相關進展一直備受關注。就在昨天,國內"人形機器人第一股"優必選發布了人形機器人WalkerS深入融合百度文心大模型後的首個Demo,展示了一些有趣的新功能。現在,得到百度文心大模型能力加持的WalkerS是這個樣子的。和Figure01一樣,WalkerS沒有走動,而是站在桌子後面完成一系列任務。它可以聽從人類的命令,折疊衣物

如何在uniapp中實現資料統計和分析一、背景介紹資料統計和分析是行動應用開發過程中非常重要的一環,透過對使用者行為的統計和分析,開發者可以深入了解使用者的喜好和使用習慣,從而優化產品設計和使用者體驗。本文將介紹如何在uniapp中實現資料統計和分析的功能,並提供一些具體的程式碼範例。二、選擇合適的資料統計和分析工具在uniapp中實現資料統計和分析的第一步是選擇合

如何優化Java程式碼的可維護性:經驗與建議在軟體開發過程中,編寫具有良好可維護性的程式碼是至關重要的。可維護性意味著程式碼能夠被輕鬆理解、修改和擴展,而不會引發意外的問題或額外的工作量。對於Java開發者來說,如何優化程式碼的可維護性是一個重要課題。本文將分享一些經驗和建議,幫助Java開發者提升其程式碼的可維護性。遵循規範的命名規則規範的命名規則能夠使程式碼更易讀,

iCloud鑰匙圈可讓您更方便管理密碼,無需依賴記憶或猜測網站或使用者名稱。您可以透過在iCloud鑰匙圈中為應用程式和網站的現有密碼添加註釋來實現這一點。在這篇文章中,我們將說明如何為您儲存在iPhone上的iCloud鑰匙圈中的密碼新增註解。要求您需要滿足一些要求才能在iCloud鑰匙圈中使用這項新功能。運行iOS15.4或更高版本的iPhone密碼儲存在iCloud鑰匙串中的有效AppleID有效的互聯網連接如何為保存的密碼添加註釋毋庸置疑,您應該在iCloudKeychain中存儲一些密

PyCharm註解操作指南:最佳化程式碼編寫體驗在日常的程式碼編寫中,註解是非常重要的一環。良好的註解不僅可以提高程式碼的可讀性,還能幫助其他開發人員更好地理解和維護程式碼。 PyCharm作為一個強大的Python整合開發環境,在註解方面也提供了豐富的功能和工具,可以大幅優化程式碼編寫體驗。本文將介紹如何在PyCharm中進行註釋操作,以及如何利用PyCharm的註釋

標題:解析織夢CMS二級目錄打不開的原因及解決方案織夢CMS(DedeCMS)是一款功能強大的開源內容管理系統,被廣泛應用於各類網站建設中。然而,有時在搭建網站過程中可能會遇到二級目錄無法開啟的情況,這給網站的正常運作帶來了困擾。在本文中,我們將分析二級目錄打不開的可能原因,並提供具體的程式碼範例來解決這個問題。一、可能的原因分析:偽靜態規則配置問題:在使用

效率提升! PyCharm中快速註解程式碼的方法分享在日常的軟體開發工作中,我們經常需要註解掉一部分程式碼進行偵錯或調整。如果手動逐行添加註釋,這無疑會增加我們的工作量和耗費時間。而PyCharm作為一款強大的Python整合開發環境,提供了快速註解程式碼的功能,大大提升了我們的開發效率。本文將分享一些在PyCharm中快速註解程式碼的方法,並提供具體的程式碼範例。單
