सरल उत्तर यह है कि आप नहीं करते हैं। आप इसके बजाय PHP के कई HTML पार्सर्स का उपयोग करते हैं। Regexes HTML में हेरफेर करने का एक flaky और त्रुटि प्रवण तरीका हैं।
कहा जा रहा है कि आप यह कर सकते हैं:
$html = preg_replace('!<div\s+id="ithis"\s+class="cthis">.*?</div>!is', '', $html);
लेकिन कई बातें इस के साथ गलत कर सकते हैं।
<div id="ithis" class="cthis">Content here which <div>includes</div> other elements etc..) </div>
आप के साथ खत्म हो जाएगा:
other elements etc..) </div>
regex पहले
</div>
पर बंद हो जाएगा के रूप में
उदाहरण के लिए, अगर है कि एक div में शामिल है। और इस समस्या को हल करने के लिए आप वास्तव में कुछ भी नहीं कर सकते (नियमित अभिव्यक्तियों के साथ)।
एक पार्सर इसे और अधिक इस तरह दिखता है के साथ हो गया:
$doc = new DOMDocument();
$doc->loadHTML($html);
$element = $doc->getElementById('ithis');
$element->parentNode->removeChild($element);
$html = $doc->saveHTML();
क्या आप आगे विस्तार कर सकते हैं? क्या यह एक स्ट्रिंग के रूप में है? –
क्या आप आईडी नाम और/या कक्षा का नाम जानते हैं? या क्या आईडी और/या कक्षा के कोई विशिष्ट पहचानकर्ता हैं ताकि आप उस विवरण में गिरने वाले सभी divs को हटा न सकें? या आप सभी divs और उनकी सामग्री को हटाना चाहते हैं? –