RE: [PHP-WIN] DOM

From: Date: Sat, 13 Jan 2001 22:24:37 +0000
Subject: RE: [PHP-WIN] DOM
References: 1  Groups: php.windows 
Request: Send a blank email to php-windows+get-4982@lists.php.net to get a copy of this message
Interesting. WDDX doesn't solve my problem of grabbing the content because the supplier only provides it in HTML form but once I have the data I can use WDDX as another way of making the data available to the world. Thanks for the info. I don't suppose you know of a way to push WDDX data packets to clients? For example, after I've updated a field (for example, an updated price) in my central database I would like to push it out to all my WDDX enabled clients (obviously only the ones connected to the net/my server at the time) - like a server push. I'm assuming the only way is to do a client pull - get the client to ask the server via a WDDX request if there is any new data since the client's last request. If I do a client pull I will have all the clients polling the server every minute or so asking for new data regardless if any exists or not. This could cause serious overloading of the server, whereas a server push would only occur when new data exists. Any ideas? Thanks James -----Original Message----- From: Corn Vollney-R7019C [mailto:R7019C@motorola.com] Sent: 13 January 2001 20:15 To: 'James Duncan'; mstearne@entermix.com Cc: php-windows@lists.php.net Subject: RE: [PHP-WIN] DOM James, If you are the owner of the dowloaded html page you could use WDDX. Check it out at WDDX.org. Voll -----Original Message----- From: James Duncan [mailto:jd@jamesduncan.co.uk] Sent: Saturday, January 13, 2001 8:11 PM To: mstearne@entermix.com Cc: php-windows@lists.php.net Subject: RE: [PHP-WIN] DOM Hi again, Thanks for your help so far. I will explain what I'm trying to achieve. I want to pull down a web page that contains share prices, extract those share prices, and update a database with the new prices. What I want is a nice and neat solution that runs like a service (i.e. I can stop and start it from a web browser, change the update interval (how long it waits before it repeats the process)), etc. I know a little PHP and Javascript (what I've taught/learnt over the last few weeks). The process I have so far (not implemented at all yet): 1) PHP script that pulls down the relevant web page to my server 2) Data extraction from HTML web page 3) Updating of database with data from step 2 4) Running step 1 again after a certain period of time Step 2 is the most complex by far. I was hoping to use PHP to access the #text value via DOM but obviously this isn't possible because the DOM doesn't exist server-side but only after the HTML has been rendered client-side. Like you say, I could create a form and hidden fields in the HTML file and use Javascript to read the #text node values into the hidden fields. Then trigger a POST operation, where I can read in all the values but I don't like the sound of this because then I would have to have a browser interacting with my PHP scripts!?! I'm trying to create a self-contained "service" that doesn't have any external dependants. Is there any other way of accomplishing this without involving a browser? The only other way I can see is to use PHP to strip all HTML tags, leaving just the text? I could then write PHP code to read in the remaining text, etc. What is the best way to accomplish this? Is there a PHP command that strips all HTML tags (and Javascript, etc) from an HTML file? Example code would be great ;) Thanks James -----Original Message----- From: Michael Stearne [mailto:mstearne@entermix.com] Sent: 13 January 2001 18:40 To: James Duncan Cc: mstearne@entermix.com; php-windows@lists.php.net Subject: RE: [PHP-WIN] DOM No, actually I think that using PHP to insert the FORM and then use Javascript to get the #text node values would be easier. Parsing Table cells using RegExs is no fun. Michael On Saturday, January 13, 2001, at 01:06 PM, James Duncan wrote: > But surely if I'm using fopen to insert a hidden form and fields I might as > well use fopen to extract the data from the HTML page in the first place? It > just seems so much easier to capture the #text node values from the DOM, > rather than using fopen to locate the same information!?! > > Another idea would be to use my Javascript to capture the text node values > from the DOM and write it to a cookie file. The contents of the cookie file > could then by read by PHP to populate the database? > > Thanks > > James > > > -----Original Message----- > From: Michael Stearne [mailto:mstearne@entermix.com] > Sent: 13 January 2001 17:32 > To: James Duncan > Cc: mstearne@entermix.com; php-windows@lists.php.net > Subject: RE: [PHP-WIN] DOM > > > On Saturday, January 13, 2001, at 12:20 PM, James Duncan wrote: > > > I don't think this will work in my case because I don't control the layout > > of the HTML page and hence can't add the hidden fields. I'm downloading > the > > HTML pages from a website. It would require as much work to insert the > > hidden fields as trying to strip the HTML tags in an attempt to read the > > data directly from the HTML page itself. There must be a way to access the > > DOM directly from PHP? I notice in the manual there is a section regarding > > XML DOM but not the DOM itself. > > > > Are the DOM values only available on the client? If that's the case then > PHP > > can't be used to read them because it's limited to the server side? > > Well by the time you are talking about PHP is out of the picture. PHP can > be used to generate a DOM but once its generated PHP (or any server side > language) is out of the picture, it then goes to the client-side stuff like > you said. You can use PHP's fopen() to grab the page and then add the form > and hidden fields I was talking about. By doing this, you are setting up > the page to be handled correctly by the Javascript code you inserted through > PHP. > > Michael > > > > > Thanks > > > > James > > > > -----Original Message----- > > From: Michael Stearne [mailto:mstearne@entermix.com] > > Sent: 13 January 2001 17:06 > > To: James Duncan > > Cc: php-windows@lists.php.net > > Subject: Re: [PHP-WIN] DOM > > > > Could you do something like: > > > > > myForm.myField.value=tablejames.firstChild.childNodes[1].childNodes[4].first > > Child.firstChild.node Value; > > > > Set up a form of hidden fields. Extract the values from the DOM and then > > have the user hit a Submit button to get to the next page. At that point > > the values that were collected and put into the hidden form fields will be > > submitted and you next page (the PHP page) could INSERT the values into > the > > database, > > > > Michael > > > > > > On Friday, January 12, 2001, at 07:30 PM, James Duncan wrote: > > > > > Hi folks, > > > > > > I'm still new to HTML, Javascript and PHP but learning (fast hopefully). > > > I've just started accessing DOM elements. I have worked out how to > update > > > the contents of table cells directly using this method, etc. In > Javascript > > I > > > would use code like: > > > > > > alert("Value is: " + > > > > > > tablejames.firstChild.childNodes[1].childNodes[4].firstChild.firstChild.node > > > Name); > > > alert("Value is: " + > > > > > > tablejames.firstChild.childNodes[1].childNodes[5].firstChild.firstChild.node > > > Value); > > > > > > This Javascript shows the name and value of the child element. > > > > > > Now I want to use PHP to extract data (values) from HTML pages like I do > > > with the above Javascript. Is this possible? Obviously with the > Javascript > > > the HTML page has already been rendered in the browser (i.e. all tree > > > elements have been created). This makes extracting data a simple case of > > > finding the "#text" elements and reading in the values. Can I do the > same > > > thing with PHP and an HTML file I've downloaded from the Internet? > > Obviously > > > this file is sitting on my server and hasn't been rendered in a > browser... > > > > > > The whole point of this exercise is so that I can extract values from an > > > HTML table and populate them into a database. Maybe it's easier to > process > > > the HTML file line by line and strip the unwanted HTML tags? However, > with > > > this approach I've got to hardcode each webpage... > > > > > > If this is a silly question then sorry but you only learn if you ask ;) > > > > > > Thanks > > > > > > James > > > > > > > > > > > > -- > > > PHP Windows Mailing List (http://www.php.net/) > > > To unsubscribe, e-mail: php-windows-unsubscribe@lists.php.net > > > For additional commands, e-mail: php-windows-help@lists.php.net > > > To contact the list administrators, e-mail: php-list-admin@lists.php.net > > > > > > > > > > > > > > > > > > -- > PHP Windows Mailing List (http://www.php.net/) > To unsubscribe, e-mail: php-windows-unsubscribe@lists.php.net > For additional commands, e-mail: php-windows-help@lists.php.net > To contact the list administrators, e-mail: php-list-admin@lists.php.net > > > -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, e-mail: php-windows-unsubscribe@lists.php.net For additional commands, e-mail: php-windows-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net

« previous php.windows (#4982) next »