In the lesson, I would like to change the div tag li . But not everyone is just some well defined. In this case, people who have the ID "tab- *" starts, I need to use the PHP function easily: & lt; Div id = "tab-141285" class = "my-class" & gt; & Lt; Div class = "my-subclass" & gt; & Lt; Div & gt; Advertising Ready Advertising & lt; / Div & gt; & Lt; / Div & gt; & Lt; / Div & gt; & Lt; Div id = "tab-85429" class = "my-class" & gt; & Lt; Div class = "my-subclass" & gt; & Lt; Div & gt; Advertising Ready Advertising & lt; / Div & gt; & Lt; / Div & gt; & Lt; / Div & gt; Get this text
& lt; Li id = "tab-141285" class = "my-class" & gt; & Lt; Div class = "my-subclass" & gt; & Lt; Div & gt; Advertising Ready Advertising & lt; / Div & gt; & Lt; / Div & gt; & Lt; / Li & gt; & Lt; Li id = "tab-85429" class = "my-class" & gt; & Lt; Div class = "my-subclass" & gt; & Lt; Div & gt; Advertising Ready Advertising & lt; / Div & gt; & Lt; / Div & gt; & Lt; / Li & gt; Can you advise me?
Thanks
Regular expressions for parsing HTML are not sufficient I Any regex trying to use will be fragile. Instead, I suggest this.
This idea is:
- all
& lt; Div & gt; Find elements that start with a id attribute "tab -" // div [starts (@id, " Tab - ")] - For each of them, a new
& lt; Li & gt; element. - All
& lt; Div & gt; -
-
-
-
-
-
-
- Li> >.
Because there is no basic element in your string, we will dance a little bit before we put it in one and then make it again.
Example: $ html = & lt; & Lt; & Lt; 'Html' & lt; Div id = "tab-141285" class = "my-class" & gt; & Lt; Div class = "my-subclass" & gt; & Lt; Div & gt; Advertising Ready Advertising & lt; / Div & gt; & Lt; / Div & gt; & Lt; / Div & gt; & Lt; Div id = "tab-85429" class = "my-class" & gt; & Lt; Div class = "my-subclass" & gt; & Lt; Div & gt; Advertising Ready Advertising & lt; / Div & gt; & Lt; / Div & gt; & Lt; / Div & gt; Html; $ Dom = new DOMDocument (); $ Dom- & gt; Load HTML ("& lt; div> $ html ", LIBXML_HTML_NOIMPLIED); $ Xpath = new DOMXPath ($ dom); $ Node = $ xpath- & gt; Query ('// div [Start-start ('id,' tab- "]] '); Foreign currency ($ node $ as node) {$ li = $ dom- & gt; Create element (' li ' ); While ($ node-> attribute-> length) {$ li-> SetAttiInode ($ node-> Attribute-> Item (0));} while ($ node- & First Child) {$ li-> Epand Chલ્ડ ($ node-> First Child);} $ Node-> parentNode-> Infant ($ li, $ node);} $ Html = ''; Foreign currency ($ dom- & gt; document element-> child nodes $ node form) {$ html. $ = $ Dom-> Save HTML ($ node);} $ Html echo; < / Code>
OU Put: - li id = "tab-141285" class = "my-class">
& gt; Lt; div & gt; Ads Ready for Advertising & lt; / div & gt; & lt; / div & gt; & lt; / li & gt; & lt; li id = "tab-85429" class = "My-class">
Ad ready to ad & lt; / div & gt; & lt; / div & gt;
Popular posts from this blog
सी / सी ++ में एक सरणी के लिए एक विशिष्ट घोषणा है: प्रकार का नाम [तत्व]; जहां एक प्रकार वैध है (जैसे कि इंट, फ्लोट ...), नाम एक मान्य पहचानकर्ता और तत्व फ़ील्ड है (जो हमेशा चौकोर ब्रैकेट्स [] में संलग्न होता है), सरणी की लंबाई को निर्दिष्ट करता है तत्वों की संख्या के संदर्भ में। इसलिए मैं एक सरणी की घोषणा करता हूँ जिसमें 2 तत्व हैं int a [2]; एक [3] = 4; क्यों यह अपवाद नहीं फेंकते? सीमा से बाहर की जाँच कुछ ऐसा है जो आप संभवतः जावा जैसे कुछ उच्च स्तर की भाषा से उपयोग किया जाता है। हालांकि सी / सी ++ में यह डिफ़ॉल्ट रूप से नहीं किया जाता है। यह आपको सरणी की सीमाओं की जांच करने के लिए एक छोटा प्रदर्शन हिट देता है और इसलिए सी तर्क यह है कि आप इसे स्वयं मैन्युअल रूप से कर सकते हैं, जब तक आप इसे सर्वश्रेष्ठ संभव प्रदर्शन की पेशकश कर सकते हैं। सी + + एसटीएल कंटेनर जैसे वेक्टर आमतौर पर एक पर () ऑपरेशन को बाध्य जांच करने के लिए समर्थन देता है और चूंकि आप [] अधिभार लोड कर सकते हैं - आप सरणी के लिए बाउंड-चेक सक्षम कर सकते हैं -स्टाइल एक्सेस। यदि सरणी एक कच्चे पॉइंटर ह...
When I'm trying to do a string, I get a patterninetex exception. ReplaceAll Below is my string Number of testcases: 39? Test case execution: testCreateDAta? Class has completed its performance: test.com.myspace.service.ejb.session.MyTest? Execution of test case ended: testCreateDAta? Test case execution: testUpdate? What I was trying to do: junitReportString.replaceAll ("?", "\ N"); The above code brought me an exception to: java.util.regex.PatternSyntaxException: Dangling meta character '?' After this I tried again with the code below: junitReportString.replaceAll ("\\?", "\ N"); The code above received me the same string as I mentioned above. My complete code: string junitReportString = new string (); MyApp = New URL ("http: // localhost: port / testWeb / TestJunit.jsp"); URL connection yc = myApp.openConnection (); Yc.connect (); JunitReportString = yc.getHeaderField ("finalJUNITR...
Is it true that Maven's real advantage is that its project structure is clearly defined and therefore it should be opened. Could any IDE support Maven? We develop a team of 5 people and we use three different IDEs (Intellees, Eclipse, Netbeans). I know that I can not open Eclipse an ant project in Netbeans but with Maven it is possible. Is it really reason enough to use Maven? Ante is the creation tool when the functionality of Maven accumulates: Construction equipment (included ant), Not only jar / war / project etc The order environment (such as starting a jetty and deploying its artifact) Unit Testing Li> Integration test Deployment (incrementing, incrementing versions, deploying artifacts etc.) More (see t for plugins on i-ne) Maven uses the lifestyle to achieve this goal. You can trigger some functionality at some points of the lifecycle. For example, the unit test should work fine after compiling, whereas integration testing ...
Comments
Post a Comment