Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do I extract values from a html page stored as string using curl function
    primarykey
    data
    text
    <p>I am using PHP / curl to get a HTML into a string and then i need to extract the following data and then project a graph out of it . </p> <p>The data I want looks like : </p> <pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;meta name="generator" content= "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org" /&gt; &lt;title&gt;&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;table&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt; &lt;h3&gt;Income&lt;/h3&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Operating income&lt;/td&gt; &lt;td class="numericalColumn"&gt;22,922.00&lt;/td&gt; &lt;td class="numericalColumn"&gt;21,507.30&lt;/td&gt; &lt;td class="numericalColumn"&gt;17,492.60&lt;/td&gt; &lt;td class="numericalColumn"&gt;13,683.90&lt;/td&gt; &lt;td class="numericalColumn"&gt;10,227.12&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;h3&gt;Expenses&lt;/h3&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Material consumed&lt;/td&gt; &lt;td class="numericalColumn"&gt;4,029.40&lt;/td&gt; &lt;td class="numericalColumn"&gt;3,442.60&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,952.30&lt;/td&gt; &lt;td class="numericalColumn"&gt;1,889.00&lt;/td&gt; &lt;td class="numericalColumn"&gt;1,367.67&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Manufacturing expenses&amp;nbsp;&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,213.20&lt;/td&gt; &lt;td class="numericalColumn"&gt;1,841.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;299.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;120.50&lt;/td&gt; &lt;td class="numericalColumn"&gt;1,020.70&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Personnel expenses&lt;/td&gt; &lt;td class="numericalColumn"&gt;9,062.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;9,249.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;7,409.10&lt;/td&gt; &lt;td class="numericalColumn"&gt;5,768.20&lt;/td&gt; &lt;td class="numericalColumn"&gt;4,279.03&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Selling expenses&lt;/td&gt; &lt;td class="numericalColumn"&gt;378.10&lt;/td&gt; &lt;td class="numericalColumn"&gt;308.40&lt;/td&gt; &lt;td class="numericalColumn"&gt;532.10&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;171.05&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Adminstrative expenses&lt;/td&gt; &lt;td class="numericalColumn"&gt;1,737.00&lt;/td&gt; &lt;td class="numericalColumn"&gt;1,906.00&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,583.70&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,651.70&lt;/td&gt; &lt;td class="numericalColumn"&gt;904.78&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Expenses capitalised&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Cost of sales&lt;/td&gt; &lt;td class="numericalColumn"&gt;17,420.50&lt;/td&gt; &lt;td class="numericalColumn"&gt;16,748.60&lt;/td&gt; &lt;td class="numericalColumn"&gt;13,777.00&lt;/td&gt; &lt;td class="numericalColumn"&gt;10,429.40&lt;/td&gt; &lt;td class="numericalColumn"&gt;7,743.22&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Operating profit&lt;/td&gt; &lt;td class="numericalColumn"&gt;5,501.50&lt;/td&gt; &lt;td class="numericalColumn"&gt;4,758.70&lt;/td&gt; &lt;td class="numericalColumn"&gt;3,715.60&lt;/td&gt; &lt;td class="numericalColumn"&gt;3,254.50&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,483.90&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Other recurring income&lt;/td&gt; &lt;td class="numericalColumn"&gt;434.20&lt;/td&gt; &lt;td class="numericalColumn"&gt;468.20&lt;/td&gt; &lt;td class="numericalColumn"&gt;326.90&lt;/td&gt; &lt;td class="numericalColumn"&gt;288.70&lt;/td&gt; &lt;td class="numericalColumn"&gt;113.59&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Adjusted PBDIT&lt;/td&gt; &lt;td class="numericalColumn"&gt;5,935.70&lt;/td&gt; &lt;td class="numericalColumn"&gt;5,226.90&lt;/td&gt; &lt;td class="numericalColumn"&gt;4,042.50&lt;/td&gt; &lt;td class="numericalColumn"&gt;3,543.20&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,597.49&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Financial expenses&lt;/td&gt; &lt;td class="numericalColumn"&gt;108.40&lt;/td&gt; &lt;td class="numericalColumn"&gt;196.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;116.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;7.20&lt;/td&gt; &lt;td class="numericalColumn"&gt;3.13&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Depreciation&amp;nbsp;&lt;/td&gt; &lt;td class="numericalColumn"&gt;579.60&lt;/td&gt; &lt;td class="numericalColumn"&gt;533.60&lt;/td&gt; &lt;td class="numericalColumn"&gt;456.00&lt;/td&gt; &lt;td class="numericalColumn"&gt;359.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;292.26&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Other write offs&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Adjusted PBT&lt;/td&gt; &lt;td class="numericalColumn"&gt;5,247.70&lt;/td&gt; &lt;td class="numericalColumn"&gt;4,496.50&lt;/td&gt; &lt;td class="numericalColumn"&gt;3,469.70&lt;/td&gt; &lt;td class="numericalColumn"&gt;3,176.20&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,302.10&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Tax charges&amp;nbsp;&lt;/td&gt; &lt;td class="numericalColumn"&gt;790.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;574.10&lt;/td&gt; &lt;td class="numericalColumn"&gt;406.40&lt;/td&gt; &lt;td class="numericalColumn"&gt;334.10&lt;/td&gt; &lt;td class="numericalColumn"&gt;286.10&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Adjusted PAT&lt;/td&gt; &lt;td class="numericalColumn"&gt;4,456.90&lt;/td&gt; &lt;td class="numericalColumn"&gt;3,922.40&lt;/td&gt; &lt;td class="numericalColumn"&gt;3,063.30&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,842.10&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,016.00&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Non recurring items&lt;/td&gt; &lt;td class="numericalColumn"&gt;441.10&lt;/td&gt; &lt;td class="numericalColumn"&gt;-948.60&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;38.33&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Other non cash adjustments&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-33.85&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Reported net profit&lt;/td&gt; &lt;td class="numericalColumn"&gt;4,898.00&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,973.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;3,063.30&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,842.10&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,020.48&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Earnigs before appropriation&lt;/td&gt; &lt;td class="numericalColumn"&gt;4,898.00&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,973.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;3,063.30&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,842.10&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,020.48&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Equity dividend&lt;/td&gt; &lt;td class="numericalColumn"&gt;880.90&lt;/td&gt; &lt;td class="numericalColumn"&gt;586.00&lt;/td&gt; &lt;td class="numericalColumn"&gt;876.50&lt;/td&gt; &lt;td class="numericalColumn"&gt;873.70&lt;/td&gt; &lt;td class="numericalColumn"&gt;712.88&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Preference dividend&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;td class="numericalColumn"&gt;-&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Dividend tax&lt;/td&gt; &lt;td class="numericalColumn"&gt;128.30&lt;/td&gt; &lt;td class="numericalColumn"&gt;99.60&lt;/td&gt; &lt;td class="numericalColumn"&gt;148.90&lt;/td&gt; &lt;td class="numericalColumn"&gt;126.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;99.98&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Retained earnings&lt;/td&gt; &lt;td class="numericalColumn"&gt;3,888.80&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,288.20&lt;/td&gt; &lt;td class="numericalColumn"&gt;2,037.90&lt;/td&gt; &lt;td class="numericalColumn"&gt;1,841.60&lt;/td&gt; &lt;td class="numericalColumn"&gt;1,207.62&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>I want to extract each value like Manufacturing Data and the values of all the years mentioned in that line. How do I go about this?</p> <p>I found something like <code>preg_match('#&lt;tr&gt;&lt;th&gt;(.*)&lt;/th&gt; &lt;td&gt;&lt;b&gt;price&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;#', $content, $match);</code> but that doesn't get the values I want.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload