這個問題在這里已經有了答案: 您如何在 PHP 中決議和處理 HTML/XML? (31 個回答) 1 小時前關閉。
我有一個 csv 檔案,如下所示。在這個 csv 檔案中,分隔符是 & 符號。
我擁有的這個資料集包含數百行。我想要做的是獲得第四個“li”標簽。此標簽始終以數字開頭。例如,"<li> 5..</li>"
我想這可以使用正則運算式模式。但是,我無法撰寫此模式。如果有人可以幫助我,我會很高興。
CSV 檔案
1412&
<h2 style="color:#000"> Info:
</h2>
<div style="text-align:center">
<ul>
<li>zxc</li>
<li>xv</li>
<li>ccc</li>
<li>5...</li>
<li>421</li>
<li>zxc</li>
</ul></div>&www.example.com
1234&<h2 style="color:#000"> Info:</h2><div style="text-align:center"> <ul> <li>fsas</li> <li>aas</li><li>ccc</li><li>1 ... </li><li>ddd</li><li>eee</li> </ul></div>&www.example.com
4124&<h2 style="color:#000"> Info:</h2><div style="text-align:center"> <ul> <li>zxc</li> <li>gdsg</li><li>ccc</li><li>2... </li><li>ddd</li><li>eee</li> </ul></div>&www.example.com
1412&<h2 style="color:#000"> Info:</h2><div style="text-align:center"> <ul> <li>zxc</li> <li>xv</li><li>ccc</li><li>5... </li><li>421</li><li>zxc</li> </ul></div>&www.example.com
...
...
...
我的代碼
/**
* Read CSV file
*
*/
function read_csv_file() {
$csv_file = fopen("data.csv", "r");
$csv_data = array();
while (($row = fgetcsv($csv_file,0,'&')) !== FALSE) {
$csv_data [] = $row;
}
return $csv_data;
}
$csv_data = read_csv_file();
$descriptions = array();
foreach ($csv_data as $key => $value) {
//Description
$descriptions[] = htmlentities($value[1]).'<br>';
}
//Get the fourth li tag
$related_data = array();
foreach ($descriptions as $description){
}
uj5u.com熱心網友回復:
此代碼讀取第 4 li 的內容。它應該能夠處理 html 標簽之間的空格。
foreach ($descriptions as $description){
preg_match('/<ul>(?:\s*<li>.*?<\/li>\s*){3}<li>(.*?)<\/li>/', html_entity_decode($description), $output_array);
$liContent = $output_array[1];
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/508386.html