Prev: array or list of objects of different types
Next: Collections / Static typing - was "array or list of objectsof different types"
From: Ashley Sheridan on 3 Apr 2010 11:07 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 3 Apr 2010 10:14 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 3 Apr 2010 11:03 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 3 Apr 2010 11:16 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 3 Apr 2010 11:21
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 > > |