2012-01-11 17 views
7

संभव डुप्लिकेट:
How to parse and process HTML with PHP?PHP का उपयोग कर HTML तालिका का विश्लेषण कैसे करें?

मैं PHP का उपयोग दिया गया HTML तालिका के दूसरे कॉलम लाने की जरूरत है। मैं यह कैसे कर सकता हूं?

संदर्भ:

टेबल पार्स किया जा सकता: http://bit.ly/Ak2xay इस तालिका के

एचटीएमएल कोड: http://bit.ly/ACdLMn

+0

यू यह पार्स करने के लिए चाहते हो सकता है? – codersofthedark

+0

हां, और कॉलम की एक सरणी प्राप्त करें – isiaatz

+0

@ हर कोई जिसने इसे डुप्लिकेट के रूप में चिह्नित किया है ... मुझे उस पृष्ठ पर HTML टैबलेट को पार्स करने के बारे में कुछ भी दिखाई नहीं देता है। विस्तृत करने के लिए परवाह? – David

उत्तर

11

साफ एचटीएमएल कोड के लिए, पार्सिंग दृष्टिकोण में से एक डोम हो सकता है। डोम वस्तुओं में अपने HTML कोड बिताते हैं और उसके बाद आप इच्छित वस्तु और अपने मूल्यों/टैग नाम आदि कॉल करने के लिए अनुमति देता है

पीएचपी एचटीएमएल डोम पार्स की आधिकारिक दस्तावेज http://php.net/manual/en/book.dom.php

पर उपलब्ध है दूसरे के मूल्यों को खोजने के लिए दी गई सारणी डोम कार्यान्वयन निम्नलिखित के लिए coloumn किया जा सकता है:

<?php 
$data = file_get_contents('http://mytemporalbucket.s3.amazonaws.com/code.txt'); 

$dom = new domDocument; 

@$dom->loadHTML($data); 
$dom->preserveWhiteSpace = false; 
$tables = $dom->getElementsByTagName('table'); 

$rows = $tables->item(1)->getElementsByTagName('tr'); 

foreach ($rows as $row) { 
     $cols = $row->getElementsByTagName('td'); 
     echo $cols[2]; 
} 

?> 

संदर्भ: स्वनिर्धारित How to parse this table and extract data from it? पर प्रदान की जाती कोड इस सवाल की मांग को मैच के लिए।

+0

पर पहले से जो कुछ भी दिया गया है उसे याद करने में बहुत कम मूल्य यह कोड के समान फ़ाइल में होगा जहां आप कार्यान्वित करना चाहते हैं और इस डेटा का उपयोग करें ? –

0

यह आप के लिए काम का हो सकता है, वहाँ भी उदाहरण आप आरंभ करने के लिए कर रहे हैं। http://code.google.com/p/phpquery/:

http://simplehtmldom.sourceforge.net/

+0

यदि आप यह समझाने के लिए नहीं जा रहे हैं कि इसे कैसे किया जाए, तो http://stackoverflow.com/questions/3577641/best-methods-to-parse-html – Gordon

+0

पर पहले से जो कुछ भी दिया गया है उसे याद करने में बहुत कम मूल्य है उदाहरण और समझाया गया है कि प्रदान किया गया लिंक पहले ही बताता है और उदाहरण देता है? – Geoffrey

+2

क्योंकि लिंक दूर जा सकता है और हमारे पास पहले से ही पुस्तकालयों का एक कैननिकल संग्रह है। यह भी देखें http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links- कहीं और-really-good-answers – Gordon

-1

शायद phpQuery पर एक नजर है?
मैंने इसे स्वयं नहीं उपयोग किया है, इसलिए मुझे 100% यकीन नहीं है कि यह वही करता है जो आप चाहते हैं, लेकिन चूंकि यह डीओएम से चुनने के लिए jQuery का सर्वर-साइड कार्यान्वयन है, सीएसएस चयनकर्ताओं का उपयोग करके, मुझे लगता है कि यह उपयोगी हो सकता है आपके मामले में।

+0

यदि आप यह बताने वाले नहीं हैं कि यह कैसे करना है, तो वहां है http://stackoverflow.com/questions/3577641/best-methods-to-parse-html – Gordon

0

phpQuery http://code.google.com/p/phpquery/ का उपयोग करके आप

$file = LINK OR NAME OF YOUR FILE 
phpQuery::newDocumentFile($file); 
$data = pq('UNIQUE COLUMN ID OR CLASS AS YOU WOULD FOR CSS ex: .class #id')->html(); 

echo $data. 
संबंधित मुद्दे