मुझे समझ में नहीं आया कि आप वास्तव में क्या चाहते हैं, क्योंकि यह इस बात पर निर्भर करता है कि कितने समूह पकड़े जाएंगे, मैंने अंतिम कैप्चर समझौते के ऑफसेट को कैप्चर करने के लिए एक फ़ंक्शन बनाया समूह संख्या में प्रवेश करने के लिए, मेरे पैटर्न में, 3 समूह हैं: पहला समूह, पूर्ण कैप्चर और अन्य दो समूह, उप-समूह।
पैटर्न नमूना कोड:
$pattern = "/<a[^\x3e]{0,}href=\x22([^\x22]*)\x22>([^\x3c]*)<\/a>/";
एचटीएमएल नमूना कोड:
$subject = '<ul>
<li>Search Engines</li>
<li><a href="https://www.google.com/">Google</a></li>
<li><a href="http://www.bing.com/">Bing</a></li>
<li><a href="https://duckduckgo.com/">DuckDuckGo</a></li>
</ul>';
मेरे समारोह, यह पिछले तत्व की भरपाई कब्जा है और आप संभावना मिलान की संख्या का संकेत करने के लिए है:
function get_offset_last_match($pattern, $subject, $number) {
if (preg_match_all($pattern, $subject, $matches, PREG_OFFSET_CAPTURE) == false) {
return false;
}
return $matches[$number][count($matches[0]) - 1][1];
}
आप preg_match_allके बारे में विस्तृत जानकारी प्राप्त कर सकते हैं आधिकारिक दस्तावेज पर 10।
उदाहरण के लिए मेरी पैटर्न का उपयोग करना:
0 => सभी पाठ
1 => href मूल्य
2 => innerHTML
echo '<pre>';
echo get_offset_last_match($pattern, $subject, 0) . PHP_EOL; // all text
echo get_offset_last_match($pattern, $subject, 1) . PHP_EOL; // href value
echo get_offset_last_match($pattern, $subject, 2) . PHP_EOL; // innerHTML
echo '</pre>';
die();
आउटपुट है:
140
149
174
मेरे फ़ंक्शन (टेक्स्ट):
function get_text_last_match($pattern, $subject, $number) {
if (preg_match_all($pattern, $subject, $matches, PREG_OFFSET_CAPTURE) == false) {
return false;
}
return $matches[$number][count($matches[0]) - 1][0];
}
नमूना कोड:
echo '<textarea style="font-family: Consolas: font-size: 14px; height: 200px; tab-size: 4; width: 90%;">';
echo 'ALL = ' . get_text_last_match($pattern, $subject, 0) . PHP_EOL; // all text
echo 'HREF = ' . get_text_last_match($pattern, $subject, 1) . PHP_EOL; // href value
echo 'INNER = ' . get_text_last_match($pattern, $subject, 2) . PHP_EOL; // innerHTML
echo '</textarea>';
आउटपुट है:
ALL = <a href="https://duckduckgo.com/">DuckDuckGo</a>
HREF = https://duckduckgo.com/
INNER = DuckDuckGo
स्पष्ट रूप से बताएं, *** मैं इस है और मैं की जरूरत है इस उत्पादन ***, आप मदद करने के लिए मदद करते हैं। –