thedudeabides Posted December 18, 2010 Share Posted December 18, 2010 I don't know DOM very well. I can split html code into an array by paragraph and insert new lines, just not at the beginning. When I do $p_nodes->item(0)->insertBefore, it inserts the line after item(0). Here's an overview: <I want to insert a line here> <p> line one </p> <I can insert a line here> <p> line two</p> etc Here's the php code: $dom = new DOMDocument('1.0', 'UTF-8'); $dom->loadHTML($html); $dom->encoding = 'UTF-8'; $content_xpath = new DOMXPath($dom); //Find paragraphs $p_nodes = $content_xpath->evaluate('//p'); //Add the new element $insertLine = $dom->createdocumentFragment(); $insertLine->appendXML('<div>hello</div>'); //$p_nodes->item(0)->appendChild($insertLine); //this inserts the new line after line 1 $p_nodes->item(0)->insertBefore($insertLine); //this inserts after, same as appendchild $html = $dom->saveHTML(); Note: this code is greatly simplified- I would love to just concatenate the new line, but trust me- its not possible, it needs to be done with DOM. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.