validate2chThread – validate 2ch thread

/** validate2chThread - validate 2ch thread
  *
  * Description
  *   bool validate2chThread ( string $URL [, string $mode ] )
  *   Validate 2ch Thread from URL.
  *
  * Parameters
  *   URL
  *     The input string.
  *   mode
  *     Let you define What type of 2ch URL you want to validate.
  *     "2" matches 2ch, "b" matches bbspink, "m" matches machiBBS,
  *     and its default is "2bm".
  *       ex) mode="2b" matches 2ch and bbspink.
  *
  * Return Values
  *   Returns TRUE if valid 2ch thread, FALSE if not.
  **/
function validate2chThread($URL,$mode ="2bm")
{
  $domain = array();
  $domains ="";
  $pattern = "";
 
  if( strpos($mode, "2" ) !== false){ $domain[] = "2ch\.net"; }
  if( strpos($mode, "b" ) !== false){ $domain[] = "bbspink\.com"; }
  if( !empty($domain) ){
    $domains = implode("|", $domain);
    $pattern = "^http://[0-9a-zA-Z]+\.({$domains})/test/read\.cgi/[0-9a-zA-Z]+/[0-9]{9,10}(/?|/[0-9a-zA-Z_\-/]+)$";
  }
 
  if( strpos($mode, "m") !== false ){
    $pattern = ( empty($pattern) ) ? "^http://[0-9a-zA-Z]+\.machi\.to/bbs/read\.pl\?BBS=[0-9a-zA-Z]+&KEY=[0-9]{9,10}$" : "({$pattern}|^http://[0-9a-zA-Z]+\.machi\.to/bbs/read\.pl\?BBS=[0-9a-zA-Z]+&KEY=[0-9]{9,10}$)";
  }
 
  return preg_match("`".$pattern."`", $URL) ? true : false;
}
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中