2009-12-31 4 views
0

Я думаю, что мой метод хромой, но я не могу придумать лучшего способа сделать это.Сбор Stackoverflow Q и A в текстовом файле

Я использую текстовый редактор Ultraedit для хранения всех вещей, которые я выворачиваю из Stackoverflow для PHP и MySQL в текстовом файле. Это мой строгий формат для каждой новой записи:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
TITLE: THIS IS MY TITLE (ALL IN CAPS, FOLLOWD BY A DOTTED LINE) 
------------------------------------------------- 
...probably a question first (if necessary), then another shorter dotted line 
------------------- 
...answer(s)... 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 

Итак, вот фактическая запись:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
TITLE: READING FIRST 5 FIELDS OF CSV FILE INTO PHP 
------------------------------------------------- 
(...with fgetcsv...) 
     $row = 1; 
     if (($handle = fopen("test.csv", "r")) !== FALSE) { 
      while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
       $num = count($data); 
       echo "<p> $num fields in line $row: <br /></p>\n"; 
       // iterate over each column here 
       for ($c=0; $c < $num; $c++) { 
        // handle column data here 
        echo $data[$c] . "<br />\n"; 
        // exit the loop after 3rd column parsed 
        if ($c == 2) break; 
       } 
       ++$row; 
      } 
      fclose($handle); 
----------------- 
(...without fgetcsv...) 
     $lines = file('data.csv'); 
     $linecount = count($lines); 
     for ($i = 1; $i < $linecount; $i++){ 
      $fields = explode(',', $lines[$i]); 
      $sno = $fields[0]; 
      $name = $fields[1]; 
      $ph = $fields[2]; 
      $add = $fields[3]; 
     }http://stackoverflow.com/users/login?returnurl=%2fquestions%2fask 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 

я могу получить список названий путем поиска «TITLE: *» и т.д. В моем текстовом файле содержится около 15 000 строк. Есть лучший способ сделать это? Я попросил StackOverflow перед программным обеспечением snippet, но после тщательного поиска нет ничего, что бы соответствовало моим потребностям.

В каком-то смысле я удивлен, что для этого нет приложения PHP/MySQL (сбор фрагментов). Я не могу этого сделать, потому что у меня нет знаний или талантов. Коллекционера фрагментов в моей IDE не хватит.

Спасибо!

ответ

2

Почему бы вам не создать небольшое приложение с небольшим sql-сервером (скажем, SQLCE или SQLITE)?

Вы могли бы построить его так, что у вас есть следующие таблицы:

  • Название
  • фрагмент кода
  • Оригинал Вопрос Url

, а затем вы можете связать в тегах из вопрос через другую таблицу, чтобы обеспечить лучший поиск/перекрестные ссылки.

+0

Как «ученик», я могу попробовать, но я уверен, что я его испортил. – dave

+0

Но «завинчивание» таких вещей, как вы учитесь. Это также хороший способ практиковать такие вещи, как проектирование программирования, создание тестовых примеров и дизайн и оптимизация db. –

0

Я использовал InfoSelect программное обеспечение в течение многих лет для этой цели и имею много мегабайт поисковых заметок и фрагментов кода. Это не исключительно для фрагментов кода. Это программный эквивалент хранения заметок на карточках индексов и возможность упорядочивать их в иерархиях или выполнять поиск по ним.

Другим подобным инструментом является OneNote, который является частью Microsoft Office.

Если вы удалите условие, что ваш инструмент должен быть специально для отслеживания фрагментов кода, вы можете расширить свой выбор.

+0

Спасибо. Я не знал, что InfolSelect все еще доступен. Не обновляется ли он с 2007 года? OneNote имеет некоторую проблему с 64-битной ОС ... забудьте точно, в чем проблема ...? – dave