/
vr5
/
monobot
Обзор
Документация
Войти
/
vr5
/
monobot
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
app/Http/Controllers/BackendController.php
162 строки
4 KB
Alexander Volosenkov
Добавил парсер для добавления вопросов в базу
05 апр 2018, 12:37
05 апр 2018, 12:37
86ddb76
Код
Авторство
О чём код?
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use PHPHtmlParser\Dom; use PHPHtmlParser\Selector; use App\Models\QuestionsModel as Question; use App\Models\AnswersModel as Answer; class BackendController extends Controller { // public function getQuestions() { //$questions = Question::all(); $question = Question::all()->random(1)[0]; $answers = $question->answers; return view( 'questions', [ 'questions' => $question ] ); } /** * * * * * */ public function postQuestions( Request $request ) { $q = trim( $request->input( 'question' ) ); $a1 = trim( $request->input( 'answer1' ) ); $a2 = trim( $request->input( 'answer2' ) ); $a3 = trim( $request->input( 'answer3' ) ); $a4 = trim( $request->input( 'answer4' ) ); $is_correct = $request->input( 'is_correct' ); //dd( $is_correct ); if( $is_correct == null ) return; $question = new Question; $question->text = $q; $question->save(); $q_id = $question->id; $answer = new Answer; $answer->q_id = $q_id; $answer->text = $a1; $answer->is_correct = ($is_correct == 0) ? 1 : 0; $answer->save(); $answer = new Answer; $answer->q_id = $q_id; $answer->text = $a2; $answer->is_correct = ($is_correct == 1) ? 1 : 0; $answer->save(); $answer = new Answer; $answer->q_id = $q_id; $answer->text = $a3; $answer->is_correct = ($is_correct == 2) ? 1 : 0; $answer->save(); $answer = new Answer; $answer->q_id = $q_id; $answer->text = $a4; $answer->is_correct = ($is_correct == 3) ? 1 : 0; $answer->save(); //return view( 'questions', [ 'questions' => $questions ] ); } /** * * * * * */ public function getParse( Request $request ) { $dom = new Dom; $dom->loadFromUrl( 'https://baza-otvetov.ru/categories/view/1/10' ); $html = $dom->getElementsByClass( 'tooltip' ); foreach( $html as $item ) { $va_arr = []; $va = ''; $dom->load( $item ); //вопрос $q = $dom->find( 'td a' )->text; //верный ответ $a = $dom->find( 'td', 2 )->text; //варианты ответов $va = $dom->find( 'td .q-list__quiz-answers' )->text; $va = str_replace( 'Ответы для викторин:', '', $va ); $va = trim( $va ); $va_arr = explode( ',', $va ); if( isset( $va_arr[0] ) && isset( $va_arr[1] ) && isset( $va_arr[2] ) ) { $a1 = trim( $va_arr[0] ); $a2 = trim( $va_arr[1] ); $a3 = trim( $va_arr[2] ); //var_dump( $va_arr ); //trim( $va[1] ); //$va3 = trim( $va[2] ); /**********************************/ $question = new Question; $question->text = $q; $question->save(); $q_id = $question->id; $answer = new Answer; $answer->q_id = $q_id; $answer->text = $a1; $answer->is_correct = 0; $answer->save(); $answer = new Answer; $answer->q_id = $q_id; $answer->text = $a2; $answer->is_correct = 0; $answer->save(); $answer = new Answer; $answer->q_id = $q_id; $answer->text = $a; $answer->is_correct = 1; $answer->save(); $answer = new Answer; $answer->q_id = $q_id; $answer->text = $a3; $answer->is_correct = 0; $answer->save(); /**********************************/ } } } }