preg_match()函數是PHP中用于匹配正則表達式的函數,可以用來檢測一個字符串是否符合指定的模式。除了基本的用法外,preg_match()還有一些高級的應用,如下所示:
$str = "Hello, my email is test@example.com";
$pattern = '/([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+)\.([a-zA-Z]{2,})/';
if(preg_match($pattern, $str, $matches)){
echo "Email: " . $matches[0]; // 輸出匹配的完整郵箱地址
echo "Username: " . $matches[1]; // 輸出用戶名
echo "Domain: " . $matches[2]; // 輸出域名
echo "Top-level domain: " . $matches[3]; // 輸出頂級域名
}
$str = "Hello, World";
$pattern = '/world/i';
if(preg_match($pattern, $str)){
echo "Match found";
} else {
echo "Match not found";
}
function callback_function($matches){
return strtoupper($matches[0]);
}
$str = "hello world";
$pattern = '/\b\w+\b/';
$result = preg_replace_callback($pattern, 'callback_function', $str);
echo $result; // 輸出HELLO WORLD
通過這些高級應用,可以更靈活地使用preg_match()函數來處理各種不同的匹配需求。