0

.phpスクリプトがあります。変数にhtmlを追加しましたが、そのhtmlで別の変数からテキストを取得したいのですが、これを行うにはどうすればよいですか?

これはhtmlの変数です:

$ai_boc   = '
<html>
<head>
  <title>Notes by Douno</title>
</head>

<body>
<div align="center">
<div style="width:600px; height:auto; border-radius:10px; background-color:#F7F1B8; background-repeat: auto; font-family:Georgia;  color:#513414;">

    <div style="height:100px; padding-top:20px; padding-left:20px; text-align:left;">
    <p style="margin-bottom:0px; font-weight:bold; font-size:xx-large;">$ai_su</p>
    <p style="margin-top:5px; font-size:x-small; font-weight:bold;">$ai_da</p>
    </div>
        <div style="height:1px; background-image: url(http://dl.dropbox.com/u/99775621/divider.jpg); display:block; position:relative;">
        </div>
    <div style="position:relative; overflow:hidden;">

        <div style="height:auto; width:375; padding-left:20px; text-align:left; position:relative; float:left;">
            <div style="width:375px;"> <p style="font-size:x-small; font-weight:bold;"><?php echo $ai_bo?></p>
            </div>
        </div>

        <div style="height:auto; width:160px; padding-left:20px; padding-right:20px; text-align:left; position:relative; float:left;">
        <p style="font-size:x-small; font-weight:bold; vertical-align:bottom;">If this email is considered spam, please contact us.</br></br>This email was send via Notes. An Android app developed by Douno.</p>
        <a href="https://play.google.com/store/apps/details?id=appinventor.ai_L_Bogaerts_95.Notes">
        <img alt="Get it on Google Play"
        src="https://developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
        </a>

        </div>

    </div>
        <div style="height:1px; background-image: url(http://dl.dropbox.com/u/99775621/divider.jpg); display:block; position:relative;">
        </div>
    <div style="height:100px; width:600px; display:inline-block; position:relative;">

    </div>      






</div>
</div>
</body>
</html>
';

実用的な説明が見つからないので、ここの誰かが私をさらに助けてくれることを願っています。HTMLが完成していません...まだいくつかの変更を加えます。

4

9 に答える 9

2

文字列連結または変数展開のいずれかを使用します。

 $html = '<html>'.$somevar.'</html>';      // concatenation
 $html = "<html>$somevar</html>";           // expansion, only works with double quotes (")

しかし、適切なテンプレート システムを使用して HTML と PHP を完全に分離する方がはるかに優れています。

于 2013-01-29T13:43:46.683 に答える
2

次のようなものを使用できます。

$test = 'test';
$html = '<h1>' . $test . '</h1>';

また

$test = 'test';
echo "Hello {$test}";

別の方法 (PHP 5.3 以降でのみ使用可能):

    $test = 'test';
    $html = <<<EOT 
Hello $test
EOT;
于 2013-01-29T13:44:53.183 に答える
1

HEREDOC を使用します。一般的に行うように、Heredoc 内に HTML および PHP 変数を含めることができます。

$ai_boc   = <<< EOT
<html>
<head>
  <title>Notes by Douno</title>
</head>

<body>
<div align="center">
<div style="width:600px; height:auto; border-radius:10px; background-color:#F7F1B8; background-repeat: auto; font-family:Georgia;  color:#513414;">

    <div style="height:100px; padding-top:20px; padding-left:20px; text-align:left;">
    <p style="margin-bottom:0px; font-weight:bold; font-size:xx-large;">$ai_su</p>
    <p style="margin-top:5px; font-size:x-small; font-weight:bold;">$ai_da</p>
    </div>
        <div style="height:1px; background-image: url(http://dl.dropbox.com/u/99775621/divider.jpg); display:block; position:relative;">
        </div>
    <div style="position:relative; overflow:hidden;">

        <div style="height:auto; width:375; padding-left:20px; text-align:left; position:relative; float:left;">
            <div style="width:375px;"> <p style="font-size:x-small; font-weight:bold;"><?php echo $ai_bo?></p>
            </div>
        </div>

        <div style="height:auto; width:160px; padding-left:20px; padding-right:20px; text-align:left; position:relative; float:left;">
        <p style="font-size:x-small; font-weight:bold; vertical-align:bottom;">If this email is considered spam, please contact us.</br></br>This email was send via Notes. An Android app developed by Douno.</p>
        <a href="https://play.google.com/store/apps/details?id=appinventor.ai_L_Bogaerts_95.Notes">
        <img alt="Get it on Google Play"
        src="https://developer.android.com/images/brand/en_generic_rgb_wo_45.png" />
        </a>

        </div>

    </div>
        <div style="height:1px; background-image: url(http://dl.dropbox.com/u/99775621/divider.jpg); display:block; position:relative;">
        </div>
    <div style="height:100px; width:600px; display:inline-block; position:relative;">

    </div>      






</div>
</div>
</body>
</html>
EOT;
于 2013-01-29T13:44:30.303 に答える
0

長い html 文字列がある場合は、次を使用できob_start()ますob_get_clean()

<?php
ob_start();

$title = "My website";

?><html>
    <head>
        <title><?=$title?></title>
    </head>
    <body>
        ...
    </body>
</html><?php

$ai_boc = ob_get_clean();
于 2013-01-29T13:49:41.063 に答える
0

これをコードに追加してみてください-

$ai_boc .= $other_var;
于 2013-01-29T13:44:41.903 に答える
0

あなたの主な引用符は二重引用符でなければなりません、あなたは言うことができます

$ai_boc="<html ... {$variable} ... more html";
于 2013-01-29T13:44:56.167 に答える
0

いくつかのオプションがあります。

PHP はさまざまな方法で引用符を理解します (これを読んで疑問を解消してください: http://php.net/manual/en/language.types.string.php )

最後に、これがどのように機能するかです。

$replacement = "This is a string I want to insert into another one";
$bigger_text = "This is a bigger text. {$replacement} And the former variable has just been inserted here";

これは、PHP が二重引用符を「解析」し、必要に応じて変数を補間するために発生します。

わかりやすくするために、補間された文字列をブレース {} でブレースすることもお勧めします。また、次のような補間を行うこともできます。

$interpolated = "Hello {$user[0]['name']}.";
于 2013-01-29T13:45:32.963 に答える
0

HTML の大きなブロックを PHP コードに埋め込む必要がある場合は、@Kalpesh Mehta の回答で説明されている HEREDOC 構文がその方法です。

ただし、ここでの最善の答えは、適切なテンプレート メカニズムを使用することです。たとえそれが、事前定義されたマーカーの単なる基本的な文字列置換であってもです。次に、HTML を別のファイルに分割できます。これにより、HTML を PHP 文字列に埋め込むよりも作業がはるかに簡単になります。

コードが含まれており、変数が必要template.htmlな場所などのマーカーが付いています。{marker}

次に、PHP コードは次のようになります。

$ai_boc = file_get_contents('template.html');
$ai_boc = str_replace('{marker}', $my_variable, $ai_boc);
print $ai_boc;
于 2013-01-29T13:51:28.757 に答える
-1

例:

$var="テスト";

$html="<html> $var </html>";

また

$html="<html>". $var." </html>";
于 2013-01-29T13:44:13.693 に答える