Использование HTML с тегами стиля в коде PHP - PullRequest
0 голосов
/ 13 января 2012

Мне дали следующее в качестве шаблона для использования в электронном письме. Я использую phpmailer для отправки по почте, но у меня проблема с тем, как теги стиля начинаются и заканчиваются, так как они конфликтуют с php. Если я пройду через их шаблон, я смогу переместить все стили в отдельную таблицу стилей или использовать классы и поместить стили в верхнюю часть страницы, но я не хочу этого делать, если в этом нет необходимости.

Ниже приведен общий пример того, что происходит с кодом. Имена шрифтов обернуты в "s", так что открывающие и закрывающие теги стиля - это "s", они конфликтуют с открывающими и закрывающими тегами php. Кажется, я не могу найти способ обойти это, хотя, как будто я поставил, style = "" font-name "," another-font "" это не сработает, если я вообще использую s, то php облажается.

Что происходит в php mailer, содержимое формы объявляется как

$body = '<span style='font-size: 13.5pt;font-family:"Georgia","serif";color:white'>some content</span></html>';

Ответы [ 3 ]

4 голосов
/ 13 января 2012

Вам нужно уйти от ваших цитат.Пример:

$body = '<div style=\'background:#000;\'><p>srs business here</p></div>';
0 голосов
/ 13 января 2012

Не делай этого.

Ваша проблема не в использовании HTML / CSS в PHP, просто ваши строки в основном не содержат строк, вам нужно экранировать кавычки, как сказал @ddubs.

Однако, если вы укажете «Не делайте этого», вам не следует смешивать ваш HTML и PHP-код таким образом. Хотя это, конечно, не обязательно, вы должны как можно больше отделять свою логику от представления.

Вы можете просто выпрыгнуть из PHP с закрывающим тегом и вернуться обратно, когда вам это нужно, например (на основе вашего):

// code code code ...
?>
<span style="font-size: 13.5pt; font-family: 'Georgia', serif; color: white">
    <?php echo $variable_from_code ?>
</span></html>

Пока я нахожусь на протяжении всего крестового похода, вам также не следует использовать встроенные стили; -)

0 голосов
/ 13 января 2012

Вы также можете работать с HEREDOC (http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc).. Это сэкономит вам много грязного кода. Пример:

$string = <<<SOMELABEL
Here you can put your <span style='font-family: arial, helvetica, sans-serif'>formatted code</span>
SOMELABEL;

А затем:

$body = $string;
...