PHP中使用正则表达式(实例: 搜索String中的Email地址)

Categories: PHP; Tagged with: ; @ September 8th, 2010 20:29

以下代码简单演示在PHP中使用正则表达式从String中搜索Email地址:

	/**
	 * 从String中通过正则表达式找到所有的Email地址.
	 * @param $str
	 * @return array 搜索到的Email地址组成的array.
	 */
	public static function parseEmails($str) {
		$emails = array();
		preg_match_all("(([\w\.-]{1,})@([\w-]{1,}\.+[a-zA-Z]{2,}))", $str, $matches, PREG_PATTERN_ORDER);
		
		// var_dump($matches);
		
		foreach($matches[0] as $email) {
			$emails[$email] = $email;
 		}
 		return $emails;
	}

$matches中包含所有搜索到的Group, 可使用不同的Pattern对得到的数组进行排序, 如上$matches[0]为最外部Group搜索到的字符.

详细可参阅:http://php.net/manual/en/function.preg-match-all.php

相关阅读:  

Eclipse 正则表达式书写测试插件 – 基于java.util.regex

Flex:使用正则表达式替换String

Java正则表达式使用笔记

<->



// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.