javascript - questions - जावास्क्रिप्ट डाउनलोड



मैचों के साथ कॉलबैक फ़ंक्शन को बदलें (1)

<wiki>this page</wiki> को <a href='wiki/this_page'>this page</a> से बदलने की आवश्यकता है
कॉलबैक फ़ंक्शन का उपयोग करना:

text = text.replace(/<wiki>(.+?)<\/wiki>/g, function(match)
    {
        return "<a href='wiki/"+match.replace(/ /g, '_')+"'>"+match+"</a>";
    }
);

परिणाम यह है कि टैग <wiki> संरक्षित है (पूर्ण मिलान) - <a href='wiki/<wiki>this_page</wiki>'><wiki>this page</wiki></a>

क्या मैच [0], मैच [1] जैसा कि PHP के preg_replace_callback() ?


replace फ़ंक्शन की कॉलबैक मैचों को मापदंडों के रूप में लेती है।

उदाहरण के लिए:

text = text.replace(/<wiki>(.+?)<\/wiki>/g, function(match, contents, offset, input_string)
    {
        return "<a href='wiki/"+contents.replace(/ /g, '_')+"'>"+contents+"</a>";
    }
);

(दूसरा पैरामीटर पहला कैप्चर समूह है)





javascript