@GonGo;

<?php
	
	class Finder {
		
		protected static $url = null;
		protected static $response = null;
		protected static $items = null;
		
		private function __construct() {}
		
		public static function setUrl($url)
		{
			self::$url = $url;
			
			return new static();
		}
		
		public static function getUrl()
		{
			return self::$url;
		}
		
		public static function find($term = null, $static_return = false)
		{
			if(is_null($term))
			{
				return false;
			}
			
			if(is_array($term))
			{
				return self::multipleFind($term);
			}
			
			if(is_null(self::$items))
			{
				self::$items = array();
			}
			
			if(is_null(self::getResponse()))
			{
				self::setResponse();
			}
			
			if($static_return)
			{
				$result = array("key" => $term, "items" => array());
				
				foreach(self::getResponse() as $item)
				{
					if(!is_bool(strpos($item, $term)))
					{
						$result["items"][] = $item;
					}
				}
				
				return $result;
			}
			else
			{
				return new static();
			}
		}
		
		protected static function multipleFind($terms)
		{
			foreach($terms as $term)
			{
				$result = self::find($term, true);
				
				self::setItem($result);
			}
			
			return new static();
		}
		
		protected static function setItem($result)
		{
			self::$items[$result["key"]] = $result["items"];
			
			return new static();
		}
		
		public static function getItems()
		{
			return self::$items;
		}
		
		protected static function cleanItem($item)
		{
			return trim(strip_tags($item));
		}
		
		protected static function setResponse()
		{
			$raw = file_get_contents(self::getUrl());
			
			$response = preg_match_all("#\<br\s\/\>(.*?)\<br\s\/\>#si", $raw, $matches) ? end($matches) : null;
			
			$items = array();
			
			foreach($response as $item)
			{
				if(strpos($item, "<") === false && strlen($item) > 1)
				{
					$items[] = self::cleanItem($item);
				}
			}
			
			ksort($items);
			
			self::$response = $items;
			
			return new static();
		}
		
		protected static function getResponse()
		{
			return self::$response;
		}
	}
	
	Finder::setUrl("http://www.domainforumlari.com/dusecek-domainler/5549-27-kasim-2013-dusecek-domainler-listesi.html");
	
	print_r(Finder::find(array("oyun", "forum"))->getItems());
betiğin ürettiği çıktı;

Array
(
    [oyun] => Array
        (
            [0] => bodrumoyuncak.com
            [1] => boyunfitigim.org
            [2] => ithalkoyun.com
            [3] => ithalkoyunsiparisi.com
            [4] => keyiflioyunoyna.net
            [5] => oyun17.com
            [6] => oyunaras.com
            [7] => oyuncopy.com
            [8] => oyunuz.com
            [9] => sancakoyun.com
        )

    [forum] => Array
        (
            [0] => ankarauniforum.com
            [1] => forumjeep.org
            [2] => muzikfilmforum.com
        )

)