Preg replace callback example
Regular expressions can be very powerful, this example shows how to use the preg_replace_callback function.
// Define a dummy text, for testing... $Text = "Title: Hello world!\n"; $Text .= "Author: Jonas\n"; $Text .= "This is a example message!\n\n"; $Text .= "Title: Entry 2\n"; $Text .= "Author: Sonja\n"; $Text .= "Hello world, what's up!\n"; // This function will replace specific matches // into a new form function RewriteText($Match){ // Entire matched section: // --> /.../ $EntireSection = $Match[0]; // --> "\nTitle: Hello world!" // Key // --> ([a-z0-9]+) $Key = $Match[1]; // --> "Title" // Value // --> ([^\n\r]+) $Value = $Match[2]; // --> "Hello world!" // Add some bold (<b>) tags to around the key to return '<b>' . $Key . '</b>: ' . $Value; } // The regular expression will extract and pass all "key: value" pairs to // the "RewriteText" function that is definied above $NewText = preg_replace_callback('/[\r\n]([a-z0-9]+): ([^\n\r]+)/i', "RewriteText", $Text); // Print the new modified text print $NewText;
Snippet Details
-
AuthorJonas John
-
LicensePublic Domain
-
LanguagePHP
-
Created09/10/2007
-
Updated09/10/2007
-
Tagsregular expressions, example
Sorry folks, comments have been deactivated for now due to the large amount of spam.
Please try to post your questions or problems on a related programming board, a suitable mailing list, a programming chat-room,
or use a QA website like stackoverflow because I'm usually too busy to answer any mails related
to my code snippets. Therefore please just mail me if you found a serious bug... Thank you!
Older comments:
None.