From: Ashley Sheridan on
On Sat, 2010-04-03 at 08:11 -0600, Peter Pei wrote:

> On Sat, 03 Apr 2010 08:58:44 -0600, Ashley Sheridan
> <ash(a)ashleysheridan.co.uk> wrote:
>
> > On Sat, 2010-04-03 at 10:29 -0400, tedd wrote:
> >
> >> Hi gang:
> >>
> >> Here's the problem.
> >>
> >> I have 184 HTML pages in a directory and each page contain a
> >> question. The question is noted in the HTML DOM like so:
> >>
> >> <p class="question">
> >> Who is Roger Rabbit?
> >> </p>
> >>
> >> My question is -- how can I extract the string "Who is Roger Rabbit?"
> >> from each page using php? You see, I want to store the questions in a
> >> database without having to re-type, or cut/paste, each one.
> >>
> >> Now, I can extract each question by using javascript --
> >>
> >> document.getElementById("question").innerHTML;
> >>
> >> -- and stepping through each page, but I don't want to use javascript
> >> for this.
> >>
> >> I have not found/created a working example of this using PHP. I tried
> >> using PHP's getElementByID(), but that requires the target file to be
> >> valid xml and the string to be contained within an ID and not a
> >> class. These pages do not support either requirement.
> >>
> >> Additionally, I realize that I can load the files and parse out what
> >> is between the <p> tags, but I was hoping for a "GetElementByClass"
> >> way to do this.
> >>
> >> So, is there one?
> >>
> >> Thanks,
> >>
> >> tedd
> >> --
> >> -------
> >> http://sperling.com http://ancientstones.com http://earthstones.com
> >>
> >
> >
> > I don't think there is a getElementsByClass function. HTML5 is proposing
> > one, but that will most likely be implemented in Javascript before PHP
> > Dom. There is a way to tidy up the HTML to make it XHTML, but I'm not
> > sure what it is. If you know roughly where in the document the HTML
> > snippet is you can use XPath to grab it.
> >
> > Failing that, what about a regex? It shouldn't be too hard to write a
> > regex to match your example above.
> >
> > Thanks,
> > Ash
> > http://www.ashleysheridan.co.uk
> >
> >
>
> Somejavascript engine already support GetElementByClass, for example Opera
> does.
>
> --
> Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
>


Yes, because Opera is pretty much leading the way with its HTML5
support. Not even Firefox supports as much as Opera does.

Thanks,
Ash
http://www.ashleysheridan.co.uk


From: "Peter Pei" on
No javascript's getElementByID() won't work here. As "question" is a
class, not an ID. But like what was mentioned here, you can use
getElementByClass() with Opera, and that will work.
From: dispy on
Am 03.04.2010 16:29, schrieb tedd:
> Hi gang:
>
> Here's the problem.
>
> I have 184 HTML pages in a directory and each page contain a question.
> The question is noted in the HTML DOM like so:
>
> <p class="question">
> Who is Roger Rabbit?
> </p>
>
> My question is -- how can I extract the string "Who is Roger Rabbit?"
> from each page using php? You see, I want to store the questions in a
> database without having to re-type, or cut/paste, each one.
>
> Now, I can extract each question by using javascript --
>
> document.getElementById("question").innerHTML;
>
> -- and stepping through each page, but I don't want to use javascript
> for this.
>
> I have not found/created a working example of this using PHP. I tried
> using PHP's getElementByID(), but that requires the target file to be
> valid xml and the string to be contained within an ID and not a class.
> These pages do not support either requirement.
>
> Additionally, I realize that I can load the files and parse out what is
> between the <p> tags, but I was hoping for a "GetElementByClass" way to
> do this.
>
> So, is there one?
>
> Thanks,
>
> tedd

Why don't you just use REGEX? I don't know any possibility to easily
process contents which are not valid XML/XHTML just because there's no
library to load such stuff (but put me in right there).

I'm not an expert of REGEX, but I think the following would do it:
/\<p\s*class\=\"question\"\s*\>(.*)\<\/p\>


(my first contribute here, I beg your pardon if something went wrong)

Regards,

Valentin Dreismann
From: Piero Steinger on
On 03.04.2010 16:29, tedd wrote:
> Hi gang:
>
> Here's the problem.
>
> I have 184 HTML pages in a directory and each page contain a question.
> The question is noted in the HTML DOM like so:
>
> <p class="question">
> Who is Roger Rabbit?
> </p>
>
> My question is -- how can I extract the string "Who is Roger Rabbit?"
> from each page using php? You see, I want to store the questions in a
> database without having to re-type, or cut/paste, each one.
>
> Now, I can extract each question by using javascript --
>
> document.getElementById("question").innerHTML;
>
> -- and stepping through each page, but I don't want to use javascript
> for this.
>
> I have not found/created a working example of this using PHP. I tried
> using PHP's getElementByID(), but that requires the target file to be
> valid xml and the string to be contained within an ID and not a class.
> These pages do not support either requirement.
>
> Additionally, I realize that I can load the files and parse out what
> is between the <p> tags, but I was hoping for a "GetElementByClass"
> way to do this.
>
> So, is there one?
>
> Thanks,
>
> tedd

Hi

You could replace the "class" with "id" and then go on with JavaScript.

A possible better way are regular expressions...


Greetz
Piero

From: vikash.iitb on
If you are open to use javascript then a js library like jQuery may help in
selecting all elements from a particular class.

$(".clasName")


Thanks,
Vikash Kumar
--
http://vika.sh


On Sat, Apr 3, 2010 at 8:46 PM, Piero Steinger <piero(a)the-admins.ch> wrote:

> On 03.04.2010 16:29, tedd wrote:
> > Hi gang:
> >
> > Here's the problem.
> >
> > I have 184 HTML pages in a directory and each page contain a question.
> > The question is noted in the HTML DOM like so:
> >
> > <p class="question">
> > Who is Roger Rabbit?
> > </p>
> >
> > My question is -- how can I extract the string "Who is Roger Rabbit?"
> > from each page using php? You see, I want to store the questions in a
> > database without having to re-type, or cut/paste, each one.
> >
> > Now, I can extract each question by using javascript --
> >
> > document.getElementById("question").innerHTML;
> >
> > -- and stepping through each page, but I don't want to use javascript
> > for this.
> >
> > I have not found/created a working example of this using PHP. I tried
> > using PHP's getElementByID(), but that requires the target file to be
> > valid xml and the string to be contained within an ID and not a class.
> > These pages do not support either requirement.
> >
> > Additionally, I realize that I can load the files and parse out what
> > is between the <p> tags, but I was hoping for a "GetElementByClass"
> > way to do this.
> >
> > So, is there one?
> >
> > Thanks,
> >
> > tedd
>
> Hi
>
> You could replace the "class" with "id" and then go on with JavaScript.
>
> A possible better way are regular expressions...
>
>
> Greetz
> Piero
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>