从文本php提取关键字

时间:2019-07-13 15:58:05

标签: php

我正在尝试使用以下功能从使用Wysiwyg的描述输入中提取相对关键字,并使用多语言英语/阿拉伯语…但它不能完成我想要的任务。看看我正在使用的功能:

   function extractKeyWords($string) {

     mb_internal_encoding('UTF-8');
     $stopwords = array();
     $string = preg_replace('/[\pP]/u', '', trim(preg_replace('/\s\s+/iu', '', mb_strtolower($string))));
     $matchWords = array_filter(explode(' ',$string) , function ($item) use ($stopwords) { return !($item == '' || in_array($item, $stopwords)
 || mb_strlen($item) <= 2 || is_numeric($item));});
     $wordCountArr = array_count_values($matchWords);
     // <p><p>

     arsort($wordCountArr);
     return array_keys(array_slice($wordCountArr, 0, 10));   }

1 个答案:

答案 0 :(得分:1)

弄清楚了!谢谢

import base64
import os
import json
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import (
    Mail, Attachment, FileContent, FileName,
    FileType, Disposition, ContentId)
try:
    # Python 3
    import urllib.request as urllib
except ImportError:
    # Python 2
    import urllib2 as urllib

import os
import json
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail

message = Mail(
    from_email='from_email@example.com',
    to_emails='to@example.com',
    subject='Sending with Twilio SendGrid is Fun',
    html_content='<strong>and easy to do anywhere, even with Python</strong>')
file_path = 'example.pdf'
with open(file_path, 'rb') as f:
    data = f.read()
    f.close()
encoded = base64.b64encode(data).decode()
attachment = Attachment()
attachment.file_content = FileContent(encoded)
attachment.file_type = FileType('application/pdf')
attachment.file_name = FileName('test_filename.pdf')
attachment.disposition = Disposition('attachment')
attachment.content_id = ContentId('Example Content ID')
message.attachment = attachment
try:
    sendgrid_client = SendGridAPIClient(os.environ.get('SENDGRID_API_KEY'))
    response = sendgrid_client.send(message)
    print(response.status_code)
    print(response.body)
    print(response.headers)
except Exception as e:
    print(e.message)