Готовые функции 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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Читайте также:
Программы на заказ
Отзывы
Контакты