Regular expressions are powerful tools for matching and manipulating strings. By defining specific character patterns, regex can validate string formats and extract needed information, widely used in data validation and text processing.
In PHP, commonly used regex functions include preg_match(), preg_match_all(), and preg_replace(), which offer developers convenient ways to manipulate text. The following examples demonstrate how to use PHP regex to parse and extract key information from text.
Suppose a text contains multiple email addresses and we want to extract all emails into an array.
<?php // Source text $text = "My email address is: abc@example.com, and another one is: def@example.com"; // Pattern to match and extract email addresses $pattern = '/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/'; preg_match_all($pattern, $text, $matches); // Output extracted email addresses foreach ($matches[0] as $email) { echo "Email address: " . $email . PHP_EOL; } ?>
In the above code, the regex pattern matches common email formats. Using preg_match_all(), all matches are stored in an array for further processing.
Use a regex to match URLs and extract the hostname and path information.
<?php // Source text $text = "Please visit our website: http://www.example.com/path/to/page.html"; // Pattern to match and extract URL $pattern = '/https?:\/\/[^\s]+/'; preg_match($pattern, $text, $matches); // Parse URL components $url = parse_url($matches[0]); $host = $url['host']; $path = $url['path']; // Output parsed URL information echo "Hostname: " . $host . PHP_EOL; echo "Path: " . $path . PHP_EOL; ?>
The code first matches a full URL starting with http or https using regex, then uses PHP’s built-in parse_url() function to extract the hostname and path.
This article demonstrated how to use PHP regular expressions to efficiently parse and extract key information from text, including typical use cases like email and URL extraction. Practical code examples help developers deepen their understanding of PHP regex and provide powerful support for text processing tasks.