0

コードに次のようなセクションがあります。

$accounts[] = array("id" => 1, "fullName"=>"Lorem ipsum", "email"=>"lorem@example.com");
$accounts[] = array("id" => 2, "fullName"=>"Lorema ipsum", "email"=>"lorema@example.com");
$toUsers = array();
foreach($accounts as $account){
    $toUsers[] = $account['fullName'] . "<" . $account['email'] . ">";
}
$toString = implode(", ",$toUsers);

このループは、電子メールヘッダーのような形式の文字列を提供することになっています(メール関数を使用したい)。結果は期待しています$toString = "Lorem ipsum<lorem@example.com>, Lorema ipsum<lorema@example.com>";が、得られるのは$toString = "Lorem ipsum, lorema Ipsum";

「<」と「>」をphpの文字列で機能させるには、何をする必要がありますか?

ありがとう、JNK

4

3 に答える 3

10

それをHTMLドキュメントに出力するのは私たちですか?ブラウザがそれをマークアップとして解釈する可能性があります。ビュー->ソースをチェックして、そこにあるかどうかを確認します。

于 2011-03-03T20:32:57.280 に答える
4

何もありません。PHPでは特別な意味はありません。

一方、PHPを使用してHTMLを生成している場合は、出力されるHTMLドキュメントで特別な意味があります。を使用しhtmlspecialchars()ます。

例えば

$toString = htmlspecialchars(implode(", ",$toUsers));

ベストプラクティスは、をHTMLドキュメントに挿入する時点で(以前ではなく)、この方法でプレゼンテーション用のデータをHTMLとして変換することです。

于 2011-03-03T20:33:15.610 に答える
0

投稿したコードは期待どおりに機能します。元のコードをこの投稿に減らすことで、間違いを修正した可能性があります。

于 2011-03-03T20:33:52.487 に答える