Nasıl html olan bir veri türü bir dize eklerim?

5 Cevap php

Benim web sitesi için bir paylaşım sayfası oluşturma. Ben kullanıcı biçimlendirilmiş html ile birlikte bir mesaj göndermek mümkün olmak istiyorum.

bu yüzden var.

$message = $_REQUEST['message'];

$page = 'some html code';

mail($TO,$subject,$page, $headers);

Ben $message istiyorum ve $page birbirine eklenecek.

5 Cevap

I heredoc yapmak için çalışıyoruz ne (bence) gerçekleştirmek için kullanın. Örnek gibi görünebilir

$message = "I'm a message";

$page = <<<HTML
<p>I'm a $message that's been inserted into html.</p>
HTML;

Diğer kullanıcıların benden önce söylediğimiz gibi, never, ever ilk hijyenikleştirmeye olmayan bir kullanıcı doğrudan girişini kullanmak veya filtreleme.

Sen yapabilirsin $message .= $page;

Bu "append $page $message" ile eşdeğerdir

Sadece borular ile arka arkaya iki dizeleri yapmak istiyorsanız?

$body = $message . $page;
mail($TO,$subject,$body, $headers);

Örnek http://php.net/manual/en/language.operators.string.php alınan

<?php
$a = "Hello ";
$b = $a . "World!"; // now $b contains "Hello World!"

$a = "Hello ";
$a .= "World!";     // now $a contains "Hello World!"
?>

I strongly önceden kullanıcı girdileri için tavsiye ederiz.

Sadece bu çalışması gerekir aşağıdakileri yapın:

$message = $_REQUEST['message'];

$message .= 'some html code';

mail($TO,$subject,$page, $headers);

. bir birleştirme operatörü olduğunu ve bu konuda daha fazla okuyabilirsiniz here.

Burada soruyu cevaplamak için ...

Well that doesn't seem to be working. How can I insert $message into the html? – creocare

    $template = '<html>
            <body>
            <h1>A message from something.com</h1>
            <p>
            {{userMessage}}
            </p>
            </body
            </html>';

$userMessage = 'hey there im the message';
$message = str_replace( '{{userMessage}}', $userMessage, $template );
echo $message;

Eğer str_replace kullanarak size dinamik mesaj html e-posta şablonu içine alabilirsiniz