finding a specific area from page using regular expression

finding a specific area from page using regular expression

am 04.08.2007 18:23:34 von hardik

hi friends,
i have a bunch of html pages and i want to fetch records from them and
i m really confused how i can do after working with regular
expressions and other stuffs from last few days can anyone help me
with this ?

i have a pages with html and table all scatter there..now i want just
specific table from the page and all records in that page, i was
successfull somehow but still have problems ,here are they..

my example page...(just a table it has all the tags like html but i
didnt write here just the thing i want is here)













name2
.........


name1


address1


phone no
|
|





now from that table i want name,address,phone no,email,website..
using preg_replace function i was able to find all those things but it
removes tag so email and website are also removed...can anyone
tell me how i can find email and website first from that code and then
using preg_replace i can get other records...or else can anyone tell
me any better solution like currently by using while loop and using if
condition i m breaking at the main table and then fetching each record
but any better solution ?

Re: finding a specific area from page using regular expression

am 04.08.2007 19:26:52 von Paul Lautman

Hardik Dangar wrote:
> hi friends,
> i have a bunch of html pages and i want to fetch records from them and
> i m really confused how i can do after working with regular
> expressions and other stuffs from last few days can anyone help me
> with this ?
>
> i have a pages with html and table all scatter there..now i want just
> specific table from the page and all records in that page, i was
> successfull somehow but still have problems ,here are they..
>
> my example page...(just a table it has all the tags like html but i
> didnt write here just the thing i want is here)
>
>


>
>
>
>
>

>
>
>
>
>
>
> name2
> .........
>
>

> name1
>

> address1

>
phone no
>>
>>
>
>

>
>
>
> now from that table i want name,address,phone no,email,website..
> using preg_replace function i was able to find all those things but it
> removes
tag so email and website are also removed...can anyone
> tell me how i can find email and website first from that code and then
> using preg_replace i can get other records...or else can anyone tell
> me any better solution like currently by using while loop and using if
> condition i m breaking at the main table and then fetching each record
> but any better solution ?

Check out the DOM functions:
http://uk.php.net/manual/en/ref.dom.php

Re: finding a specific area from page using regular expression

am 04.08.2007 19:55:17 von hardik

On Aug 4, 10:26 pm, "Paul Lautman"
wrote:
> Hardik Dangar wrote:
> > hi friends,
> > i have a bunch of html pages and i want to fetch records from them and
> > i m really confused how i can do after working with regular
> > expressions and other stuffs from last few days can anyone help me
> > with this ?
>
> > i have a pages with html and table all scatter there..now i want just
> > specific table from the page and all records in that page, i was
> > successfull somehow but still have problems ,here are they..
>
> > my example page...(just a table it has all the tags like html but i
> > didnt write here just the thing i want is here)
>
> >


> >
> >
> >
> >
> >

> >
> >
> >
> >
> >
> >
> > name2
> > .........
> >
> >

> > name1
> >

> > address1

> >
phone no
> >>
> >>
> >
> >

> >
> >
>
> > now from that table i want name,address,phone no,email,website..
> > using preg_replace function i was able to find all those things but it
> > removes
tag so email and website are also removed...can anyone
> > tell me how i can find email and website first from that code and then
> > using preg_replace i can get other records...or else can anyone tell
> > me any better solution like currently by using while loop and using if
> > condition i m breaking at the main table and then fetching each record
> > but any better solution ?
>
> Check out the DOM functions:http://uk.php.net/manual/en/ref.dom.php

@paul
thanx for the help but,
can you explain me how i can use it ?
i didnt get i guess its for working with xml
how can i use with my problem ?

Re: finding a specific area from page using regular expression

am 04.08.2007 20:16:26 von Paul Lautman

Hardik Dangar wrote:
> On Aug 4, 10:26 pm, "Paul Lautman"
> wrote:
>> Hardik Dangar wrote:
>>> hi friends,
>>> i have a bunch of html pages and i want to fetch records from them
>>> and i m really confused how i can do after working with regular
>>> expressions and other stuffs from last few days can anyone help me
>>> with this ?
>>
>>> i have a pages with html and table all scatter there..now i want
>>> just specific table from the page and all records in that page, i
>>> was successfull somehow but still have problems ,here are they..
>>
>>> my example page...(just a table it has all the tags like html but i
>>> didnt write here just the thing i want is here)
>>
>>>


>>>
>>>
>>>
>>>
>>>

>>>
>>>
>>>
>>>
>>>
>>>
>>> name2
>>> .........
>>>
>>>

>>> name1
>>>

>>> address1

>>>
phone no
>>>>
>>>>
>>>
>>>

>>>
>>>
>>
>>> now from that table i want name,address,phone no,email,website..
>>> using preg_replace function i was able to find all those things but
>>> it removes
tag so email and website are also removed...can
>>> anyone tell me how i can find email and website first from that
>>> code and then using preg_replace i can get other records...or else
>>> can anyone tell me any better solution like currently by using
>>> while loop and using if condition i m breaking at the main table
>>> and then fetching each record but any better solution ?
>>
>> Check out the DOM functions:http://uk.php.net/manual/en/ref.dom.php
>
> @paul
> thanx for the help but,
> can you explain me how i can use it ?
> i didnt get i guess its for working with xml
> how can i use with my problem ?
As long as your HTML is "well formed", you can use the DOM functions to
process it.

Re: finding a specific area from page using regular expression

am 04.08.2007 20:34:15 von hardik

On Aug 4, 11:16 pm, "Paul Lautman"
wrote:
> Hardik Dangar wrote:
> > On Aug 4, 10:26 pm, "Paul Lautman"
> > wrote:
> >> Hardik Dangar wrote:
> >>> hi friends,
> >>> i have a bunch of html pages and i want to fetch records from them
> >>> and i m really confused how i can do after working with regular
> >>> expressions and other stuffs from last few days can anyone help me
> >>> with this ?
>
> >>> i have a pages with html and table all scatter there..now i want
> >>> just specific table from the page and all records in that page, i
> >>> was successfull somehow but still have problems ,here are they..
>
> >>> my example page...(just a table it has all the tags like html but i
> >>> didnt write here just the thing i want is here)
>
> >>>


> >>>
> >>>
> >>>
> >>>
> >>>

> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> name2
> >>> .........
> >>>
> >>>

> >>> name1
> >>>

> >>> address1

> >>>
phone no
> >>>>
> >>>>
> >>>
> >>>

> >>>
> >>>
>
> >>> now from that table i want name,address,phone no,email,website..
> >>> using preg_replace function i was able to find all those things but
> >>> it removes
tag so email and website are also removed...can
> >>> anyone tell me how i can find email and website first from that
> >>> code and then using preg_replace i can get other records...or else
> >>> can anyone tell me any better solution like currently by using
> >>> while loop and using if condition i m breaking at the main table
> >>> and then fetching each record but any better solution ?
>
> >> Check out the DOM functions:http://uk.php.net/manual/en/ref.dom.php
>
> > @paul
> > thanx for the help but,
> > can you explain me how i can use it ?
> > i didnt get i guess its for working with xml
> > how can i use with my problem ?
>
> As long as your HTML is "well formed", you can use the DOM functions to
> process it.

@paul
i have seen the documentation again and i find loadhtmlfile but steel
i m very much confused how i can get my table data from webpage using
those functions ? if you know anything then plz plz just give me
simple example i m reading this dom thing again and again and getting
interested in it...
thank you very much for helping

Re: finding a specific area from page using regular expression

am 05.08.2007 21:25:10 von Neil

On Aug 4, 11:34 am, Hardik Dangar wrote:
> On Aug 4, 11:16 pm, "Paul Lautman"
> wrote:
>
>
>
> > Hardik Dangar wrote:
> > > On Aug 4, 10:26 pm, "Paul Lautman"
> > > wrote:
> > >> Hardik Dangar wrote:
> > >>> hi friends,
> > >>> i have a bunch of html pages and i want to fetch records from them
> > >>> and i m really confused how i can do after working with regular
> > >>> expressions and other stuffs from last few days can anyone help me
> > >>> with this ?
>
> > >>> i have a pages with html and table all scatter there..now i want
> > >>> just specific table from the page and all records in that page, i
> > >>> was successfull somehow but still have problems ,here are they..
>
> > >>> my example page...(just a table it has all the tags like html but i
> > >>> didnt write here just the thing i want is here)
>
> > >>>


> > >>>
> > >>>
> > >>>
> > >>>
> > >>>

> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>> name2
> > >>> .........
> > >>>
> > >>>

> > >>> name1
> > >>>

> > >>> address1

> > >>>
phone no
> > >>>>
> > >>>>
> > >>>
> > >>>

> > >>>
> > >>>
>
> > >>> now from that table i want name,address,phone no,email,website..
> > >>> using preg_replace function i was able to find all those things but
> > >>> it removes
tag so email and website are also removed...can
> > >>> anyone tell me how i can find email and website first from that
> > >>> code and then using preg_replace i can get other records...or else
> > >>> can anyone tell me any better solution like currently by using
> > >>> while loop and using if condition i m breaking at the main table
> > >>> and then fetching each record but any better solution ?
>
> > >> Check out the DOM functions:http://uk.php.net/manual/en/ref.dom.php
>
> > > @paul
> > > thanx for the help but,
> > > can you explain me how i can use it ?
> > > i didnt get i guess its for working with xml
> > > how can i use with my problem ?
>
> > As long as your HTML is "well formed", you can use the DOM functions to
> > process it.
>
> @paul
> i have seen the documentation again and i find loadhtmlfile but steel
> i m very much confused how i can get my table data from webpage using
> those functions ? if you know anything then plz plz just give me
> simple example i m reading this dom thing again and again and getting
> interested in it...
> thank you very much for helping

Use the XPath functionality of the DOM Functions to extract the tags
you need.

Re: finding a specific area from page using regular expression

am 06.08.2007 04:21:42 von kurt.milligan

On Aug 4, 12:23 pm, Hardik Dangar wrote:
[snip]
>
> now from that table i want name,address,phone no,email,website..
> using preg_replace function i was able to find all those things but it
> removes
tag so email and website are also removed...can anyone
> tell me how i can find email and website first from that code and then
> using preg_replace i can get other records...or else can anyone tell
> me any better solution like currently by using while loop and using if
> condition i m breaking at the main table and then fetching each record
> but any better solution ?

This should do what you want (retrieving the email and URL):

$matches = array();

preg_match('/
\'"\s]+).*
\'"\s]+)/s',$yourPageContents,$matches);

print "email: $matches[1], url: $matches[2]";

HTH
-Kurt

Re: finding a specific area from page using regular expression

am 07.08.2007 13:56:07 von hardik

On Aug 6, 7:21 am, Kurt Milligan wrote:
> On Aug 4, 12:23 pm, Hardik Dangar wrote:
> [snip]
>
>
>
> > now from that table i want name,address,phone no,email,website..
> > using preg_replace function i was able to find all those things but it
> > removes
tag so email and website are also removed...can anyone
> > tell me how i can find email and website first from that code and then
> > using preg_replace i can get other records...or else can anyone tell
> > me any better solution like currently by using while loop and using if
> > condition i m breaking at the main table and then fetching each record
> > but any better solution ?
>
> This should do what you want (retrieving the email and URL):
>
> $matches = array();
>
> preg_match('/
\'"\s]+).*
> \'"\s]+)/s',$yourPageContents,$matches);
>
> print "email: $matches[1], url: $matches[2]";
>
> HTH
> -Kurt
thank you everyone i m almost at end of work but new problem... :(
i've try to use dom functions and it did work fine at my home but once
i try at server it give me error

domdocument() expects at least 1 parameter, 0 given in /home/sphere/
public_html/hardik/curl/temp2.php on line 2


here is my code,


$doc = new DOMDocument();
$doc->loadHTML($str);

can anyone suggest me what is the problem