PHP mail () '(одинарная кавычка) в экранируемой теме - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь отправлять электронные письма, используя функцию php mail().Мой код ниже.

$subject = "Let's Connect";
$to = $_POST['to'];
$message = $_POST['message'];

mail( $to, $subject, $message, array('Content-Type: text/html; charset=UTF-8'));  

Проблема ' в строке темы становится \' в почтовых клиентах, таких как Gmail и Yahoo.Let's Connect становится Let\'s Connect.Я попробовал несколько решений здесь, как

$sub = '=?UTF-8?B?'.base64_encode($subject).'?=';
$decoded_str = html_entity_decode ( $value_to_decode, ENT_QUOTES, 'UTF-8' );

Ни одно из них, кажется, не работает.Что я должен сделать, чтобы решить это?

Такс

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Я бы использовал stripslashes() и html_entity_decode()

mail( $to, stripslashes(html_entity_decode($subject, ENT_QUOTES, 'UTF-8' )), $message, array('Content-Type: text/html; charset=UTF-8')); 
0 голосов
/ 09 октября 2018

Либо используйте двойные кавычки, как это:

$subject = "Let's Connect";

Или вы можете использовать косую черту, чтобы пропустить его

$subject = 'Let\'s Connect';

Вы можете передать stripslashes($subject)

...