get("users/lookup", array("screen_name" => $snames)); if (!(is_array($results))){$results = array();} // $snames_array = array_column($results, 'screen_name'); $snames_array = array_map(function($item){return $item->screen_name;}, $results); // $uids_array = array_column($results, 'id_str'); $uids_array = array_map(function($item){return $item->id_str;}, $results); $error_list = compare_ba($snames_array,$snames); list($snames_link, $uids_link) = makelink($snames_array,$uids_array); $snames = implode("\n", $snames_array); $uids = implode("\n", $uids_array); $checked_t = ""; $checked_s = "checked='checked'"; $checked_u = ""; } elseif ($_POST['convselect'] == "idtoname"){ $uids = $_POST['uids']; // ユーザーIDの一覧を取得 jointext($uids); $results = $connection->get("users/lookup", array("user_id" => $uids)); if (!(is_array($results))){$results = array();} // $snames_array = array_column($results, 'screen_name'); $snames_array = array_map(function($item){return $item->screen_name;}, $results); // $uids_array = array_column($results, 'id_str'); $uids_array = array_map(function($item){return $item->id_str;}, $results); $error_list = compare_ba($uids_array,$uids); list($snames_link, $uids_link) = makelink($snames_array,$uids_array); $snames = implode("\n", $snames_array); $uids = implode("\n", $uids_array); $checked_t = ""; $checked_s = ""; $checked_u = "checked='checked'"; } elseif ($_POST['convselect'] == "twsearch"){ $stext = $_POST['stext']; // 検索文字列を取得 $scount = $_POST['scount']; // 検索数を取得 $resultsobj = $connection->get("search/tweets", array("q" => $stext, "count" => $scount)); $results = array_map(function($item){return $item->statuses;}, array($resultsobj)); // if (!(is_array($results))){$results = array();} // $snames_array = array_column($results, 'screen_name'); $snames_array = array_map(function($item){return $item->user->screen_name;}, $results[0]); // $uids_array = array_column($results, 'id_str'); $uids_array = array_map(function($item){return $item->user->id_str;}, $results[0]); // $tweet_array = array_column($results, 'text'); $tweet_array = array_map(function($item){return $item->text;}, $results[0]); $error_list = implode("
", $tweet_array); list($snames_link, $uids_link) = makelink($snames_array,$uids_array); $snames = implode("\n", $snames_array); $uids = implode("\n", $uids_array); $checked_t = "checked='checked'"; $checked_s = ""; $checked_u = ""; } // var_dump($results);return; } else { $snames = "self7777"; $uids = ""; $snames_link = ""; $uids_link = ""; $profilelink = ""; $error_list = ""; $checked_t = ""; $checked_s = "checked='checked'"; $checked_u = ""; } function jointext(&$beforeconv) { $cr = array("\r\n", "\r"); // 改行コード置換用配列 $beforeconv = str_replace($cr, "\n", $beforeconv); // 改行コードの置換 $beforeconv_array = explode("\n", $beforeconv); // 一覧を改行で区切って配列に $beforeconv_array = array_map('trim', $beforeconv_array); // 各要素の文頭文末の空白を削除 $beforeconv_array = array_filter($beforeconv_array, 'strlen'); // 文字数が0の要素を取り除く $beforeconv_array = array_values($beforeconv_array); // 残った要素を改めて配列に $beforeconv = implode(",", $beforeconv_array); // 一覧の配列を","で連結 } function compare_ba($afterconv,$beforeconv) { $error_list = ""; $error_count = 0; $beforeconv_array = explode(",", $beforeconv); $afterconv = array_pad($afterconv, count($beforeconv_array), ""); foreach ($beforeconv_array as $key => $val) { if($beforeconv_array[$key] != $afterconv[$key-$error_count]){ $error_list = $error_list.$beforeconv_array[$key]."
"; $error_count = $error_count + 1; } } return $error_list; } function makelink($s_link_array,$u_link_array) { $snames_a = ""; $close_a = ""; foreach ($s_link_array as $key => $val) { $s_link_array[$key] = "@".$snames_a.$s_link_array[$key].$back_a.$s_link_array[$key].$close_a; } foreach ($u_link_array as $key => $val) { $u_link_array[$key] = $uids_a.$u_link_array[$key].$back_a.$u_link_array[$key].$close_a; } $snames_link = implode("
", $s_link_array); $uids_link = implode("
", $u_link_array); return array($snames_link, $uids_link); } echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo 'ツイッターのスクリーンネームをユーザーIDに変換する' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '
注意:一度に処理できるのは100件までです。処理時間3分でエラーになります。
' . "\n"; echo '
' . "\n"; echo '
' . "\n"; echo 'おまけ機能:search' . "\n"; echo 'を' . "\n"; echo '
' . "\n"; echo 'スクリーンネームをユーザーIDに変換
' . "\n"; echo 'ユーザーIDをスクリーンネームに変換
' . "\n"; echo '
' . "\n"; echo 'スクリーンネーム(@~):
' . "\n"; echo '
' . "\n"; echo '
' . "\n"; echo '' . "\n"; echo '' . "\n"; echo 'ユーザーID:
' . "\n"; echo '
' . "\n"; echo '
' . "\n"; echo 'screen_name
' .$snames_link . "\n"; echo '
' . "\n"; echo ' | user_id |
' .$uids_link . "\n"; echo '
' . "\n"; echo '不明、重複アカウント。検索結果ツイート。
' . $error_list . "
\n"; echo '
' . "\n"; echo '
' . "\n"; echo '
' . "\n"; echo '
使い方(スクリーンネームをユーザーIDに変換):
' . "\n"; echo '
    ' . "\n"; echo '
  1. 「スクリーンネームをユーザーIDに変換」を選択してください。
  2. ' . "\n"; echo '
  3. スクリーンネーム(ツイッターのアカウント)を縦に並べてください。
  4. ' . "\n"; echo '
  5. 「変換」ボタンを押してください。
  6. ' . "\n"; echo '
  7. しばらく待つと「ユーザーID」に一覧が表示されます。
  8. ' . "\n"; echo '
' . "\n"; echo '
使い方(ユーザーIDをスクリーンネームに変換):
' . "\n"; echo '
    ' . "\n"; echo '
  1. 「ユーザーIDをスクリーンネームに変換」を選択してください。
  2. ' . "\n"; echo '
  3. ユーザーID(ユーザー固有の数字です)を縦に並べてください。
  4. ' . "\n"; echo '
  5. 「変換」ボタンを押してください。
  6. ' . "\n"; echo '
  7. しばらく待つと「スクリーンネーム」に一覧が表示されます。
  8. ' . "\n"; echo '
' . "\n"; echo '
ブロックリストを使った一括ブロックについて:
' . "\n"; echo '
' . "\n"; echo '【ブロックの高度なオプション | Twitterヘルプセンター】を参考にしてください。
' . "\n"; echo 'エクスポートして確認すれば分かりますが、
' . "\n"; echo 'ブロックリストはスクリーンネームではなくユーザーIDの一覧です。
' . "\n"; echo 'エクスポートしたCSVファイルの文字コードはSHIFT-JISで改行はLFでした。
' . "\n"; echo '一覧の一番最後のユーザーIDの後ろを改行するとインポートできないようです。
' . "\n"; echo 'このアプリのユーザーID一覧をコピーしてCSVファイルを作る場合は注意してください。
' . "\n"; echo '
' . "\n"; echo '' . "\n"; echo '' . "\n"; ?>