У меня есть интересная проблема, которую я не могу понять правильно и нуждаюсь в небольшом руководстве (если хотите).
Я преобразую SMS-сообщение в электронное письмо для отправки, и прежде чем отправить сообщение по электронной почте, я добавляю в сообщение следующее:
$sending_message = $message . '<br>-------------- Reply above this line --------------';
Поскольку формат отправляется через html, он правильно отображает в gmail. Теперь вот где проблема возникает. Пользователь должен иметь возможность ответить на это сообщение через gmail, и оно отправляется обратно в другой скрипт php, который позволяет ему преобразовывать обратно в сообщение sms. Пользуюсь ли я
$message = $content[0]->msg->text;
or
$message = $content[0]->msg->html;
Я получаю что-то похожее на это:
Test
On Tue, Jan 13, 2015 at 10:42 PM, 10digit#@email.mydomain.com <
10digit#@email.mydomain.com> wrote:
> kiojihiuhygyutfuy
>
Я знаю, что, возможно, меня ждет кошмарное время, когда я пытаюсь получить только текст ответа, но какой подход лучше?
я пытался
$temp_message = explode('-------------- Reply', $message);
$message = trim($temp_message[0]);
Что сводит меня с результатами, которые вы видите выше. Поэтому я немного озадачен тем, как я могу получить последнее сообщение или первое сообщение в разбираемом электронном письме. Любое понимание ценится на том, как идти об этом. Спасибо!
Я верю, что эта библиотека поможет вам в широком масштабе …
https://github.com/willdurand/EmailReplyParser
Затем вы можете получить необходимый контент, используя:
use EmailReplyParser\Parser\EmailParser;
$email = (new EmailParser())->parse($emailContent);
$content = $email->getVisibleText();
Пожалуйста, обратите внимание: я на самом деле еще не пробовал это, но провел некоторые исследования, так как я буду очень скоро. Но я надеюсь, что это поможет вам получить то, что вам нужно 🙂
Других решений пока нет …