$pattern = "/\[(.*?)\]\((.*?)\)/i";
$replace = "<a href=\"$2\" rel=\"nofollow\">$1</a>";
$text = "blah blah [LINK1](http://example.com) blah [LINK2](http://sub.example.com/) blah blah ?";
echo preg_replace($pattern, $replace, $text);
ऊपर काम करता है
लेकिन अगर एक जगह गलती से [] और() सब कुछ टूट जाता है और दो लिंक एक में मिलाया जाता है के बीच डाला जाता है: यहमेरा PHP रेगेक्स क्यों है जो मार्कडाउन लिंक को तोड़ देता है?
$text = "blah blah [LINK1] (http://example.com) blah [LINK2](http://sub.example.com/) blah blah ?";
मैं एक महसूस कर रही है Laxy स्टार है कि यह टूट जाता है है लेकिन यह नहीं पता कि दोहराने वाले लिंक से मिलान कैसे करें।
के बीच में जोड़ा इस Markdown पार्सर के कुछ प्रकार है? यदि हां, तो आप पहले से मौजूद किसी का उपयोग क्यों नहीं करते? – Gumbo
यह है। मुझे केवल आईडी और शीर्षक की आवश्यकता के बिना मूल लिंक फ़ंक्शन की आवश्यकता है। – user1070125