На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Готовые функции PHP для апи Миратекст



Иногда приходится работать мне и с текстами. Точнее, заказчики дают ТЗ, в котором необходимо научить систему взаимодействовать с некоторым сервисами, работающими с текстами. Что-то я сам уже запутался. В общем, в этой заметке я покажу функции на PHP, с помощью которых можно получать данные по api с одного из популярных онлайн сервисов по работе с текстами – Миратекст.



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

Отправка текста на анализ в Миратекст

function send_text_mira($text){
    global $api_key_mira;

    $body = [
        'api_key' => $api_key_mira,
        'content' => [$text],
        'options' => ['paid_type' => 'paid'],
        'check_type' => 'content'
        
    ];
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://miratext.ru/api2/call/article/seoAnalizText');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);   
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($body)); 
    
    $rawResponse = curl_exec($ch);
 
    if (curl_errno($ch)) {
        throw new \Exception('Ошибка curl: ' . curl_error($ch));
    }
    
    curl_close($ch);
    
    $response = \json_decode($rawResponse, true);

    return $response;
}
Здесь сразу жестко вшиты параметры: отправляем на платную проверку и тип текст, а не ссылка. В ответе нам главное получить уникальный хэш. Достать его можно например, так

$response = send_text_mira($check_text);
$mira_hash = $response['hash'];
Получение результата анализа текста от Миратекст

function get_check_mira($mira_hash){
    global $api_key_mira;

    $body = [
        'userkey' => $api_key_mira,
        'hash' =>$mira_hash      
    ];
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://miratext.ru/api2/call/article/seoAnalizText');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);   
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($body)); 
    
    $rawResponse = curl_exec($ch);
 
    if (curl_errno($ch)) {
        throw new \Exception('Ошибка curl: ' . curl_error($ch));
    }
    
    curl_close($ch);
    
    $response = \json_decode($rawResponse, true);

    return $response;
}
С полученными результатами можно работать, если статус ответа assepted:

  $response = get_check_mira($singl['mira_hash']);
    if ($response["status"] == "accepted"){
///работаем дальше
    }
Выбираем все слова:

  $repeatWordsAll = $response["data"]["repeatWordsAll"];
    if ($repeatWordsAll){
        $mira = build_mira_html_origin($repeatWordsAll);
}
И формируем таблицу, сколько повторений

function build_mira_html_origin($repeatWordsAll){
	$table = "<table><thead><tr><th>Слово</th><th>Слова</th><th>Вхождений</th></tr></thead><tbody>";
	foreach ($repeatWordsAll as $key){
		$tr = "<tr>";
		
		$tr .= "<td>".$key["word"]."</td><td>";
	
		$chet = 0;
		foreach ($key['wordsAll'] as $sub_key){
			$chet++;
			if ($chet > 1){
				$tr .= ", ";
			}
			$tr .=  $sub_key;
		}		   
		$tr .= "</td>";	
		$tr .= "<td>".$key['words_count'][0]."</td></tr>";	
		$table .= $tr;
	}
	
	$table .= "</tbody></table>";
    return $table;
}
У вас есть вопросы по сплаву работы с текстами и программированием? Пишите, проконсультирую. Не бесплатно, но недорого.



Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, тексты, миратекст, апи, php

Читайте также:



Урок 2. Создание простого класса на C#
Зарезервированные и исключенные символы HTTP и URL


© upread.ru 2013-2023
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.