Reliable Regex for HTML are difficult परीक्षण किया गया:
<a.*?href=("|')(.*?)("|').*?>(.*)<\/a>
मैं व्यक्तिगत रूप से सुझाव है कि आप एक HTML Parser
संपादित करें का उपयोग करें।
$dom = new DOMDocument;
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('a') as $node) {
echo $dom->saveHtml($node), PHP_EOL;
}
ऊपर मिलेगा और उत्पादन $html
स्ट्रिंग में सभी A
तत्वों की "outerHTML": यहां बताया DOM साथ यह करने के लिए है।
करने के लिए नोड के सभी पाठ मान मिलता है, आप अगर href
विशेषता मौजूद है
echo $node->nodeValue;
जांच करने के लिए आप क्या कर सकते हैं
echo $node->hasAttribute('href');
करने के लिएhref
मिलता है विशेषता जो आप करेंगे
echo $node->getAttribute('href');
परिवर्तन करने के लिए href
विशेषता तुम क्या चाहते हैं
$node->setAttribute('href', 'something else');
निकालनेhref
विशेषता
$node->removeAttribute('href');
तुम भी सीधे href
विशेषता के लिए क्वेरी कर सकते हैं चाहते हैं XPath
के साथ
यह भी देखें:
एक sidenote पर: मुझे यकीन है कि यह डुप्लिकेट है हूँ और तुम find the answer somewhere in here
HTML को पार्स करने के लिए विश्वसनीय रेगेक्स मूल रूप से असंभव है क्योंकि HTML नियमित भाषा नहीं है। – Asciiom