У меня есть плагин RoundCube, который записывает тело сообщения в базу данных, и после этого мне нужно проанализировать данные в другой таблице. Используя определенные функции в RoundCube, я могу удалить все теги html, а </td>
заменяется на «\ n», а </tr>
заменяется на «\ n \ n». Это делает анализ моих данных очень простым и надежным. Существует только один недостаток, данные HTML разбиваются на починки линии с =
в конце, например:Удалить `= n` из html
<td valign=3D"bottom" style=3D"color:#444444;padding:5px 10px 5=
px 0px;font-size:12px;border-bottom:1px solid #eeeeee;"><b>Discount</b></td=
><td valign=3D"bottom" align=3D"right" style=3D"color:#444444;padding:5px 0=
px 5px 0px;font-size:12px;border-bottom:1px solid #eeeeee;text-align:right;=
"><b>Price after discount</b></td>
Теперь, </td=
«s не получает признания и поэтому Discount соединены Цена после скидки следующим образом Discount Цена после скидки \ n, вместо Скидка \ n Цена со скидкой \ n. Все это происходит через код и действительно вызывает серьезные проблемы.
Я попытался удалить = и порвать с вещами, как:
$msg_body = str_replace('=', '', $msg_body);
$msg_body = str_replace('=\n', '', $msg_body);
$msg_body = str_replace('= ', '', $msg_body);
без реального успеха. Я не знаю, какой тип разрыва возникает после знака =, будь то разрыв строки или разрыв абзаца, и попытался выяснить, но тщетно даже посмотрел на код RoundCube. Повторение html ничего не показало мне.
я отправляю это здесь как общий PHP и HTML вопрос в надежде, что кто-то может помочь мне, чтобы просто удалить эти знак = и таинственный (мне) ломается, так что
</td=
>
становится
</td>
и т.д.
поиск 'decode quoted-printable', который вы пытаетесь сделать. это больше, чем просто удаление равных знаков и новых строк. – dldnh
если вы str_replace ('=', '', $ msg_body); перед str_replace ('= \ n', '', $ msg_body); обычно нет больше = \ n для обнаружения ... – Kharaone
Я использовал их один за другим, а не все 3 за один раз, но вы правы, нужно быть осторожным, чтобы вставлять ненужные строки кода. –