Используйте "<" и ">" в строке в php - PullRequest
0 голосов
/ 03 марта 2011

В моем коде есть раздел, похожий на этот:

$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);

Предполагается, что этот цикл даст мне строку, отформатированную как заголовок письма (я хочу использовать функцию mail). Я ожидаю, что результат будет $toString = "Lorem ipsum<lorem@example.com>, Lorema ipsum<lorema@example.com>";, но все, что я получу, это $toString = "Lorem ipsum, lorema Ipsum";

Что мне нужно сделать, чтобы "<" и ">" работали со строкой в ​​php?

Спасибо, JNK

Ответы [ 3 ]

10 голосов
/ 03 марта 2011

Выводим ли мы его в HTML документ? Скорее всего, ваш браузер интерпретирует это как разметку. Проверьте view-> source и посмотрите, есть ли он там.

4 голосов
/ 03 марта 2011

Ничего.Они не имеют особого значения в PHP.

Если вы используете PHP для генерации HTML, с другой стороны, тогда они будут иметь особое значение в выводимом HTML-документе .Используйте htmlspecialchars().

например,

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

Рекомендуется преобразовывать данные для представления в HTML таким образом, когда вы вставляете их в документ HTML (а не раньше).

0 голосов
/ 03 марта 2011

Код, который вы разместили, работает точно так, как ожидалось.Возможно, вы исправили ошибку, уменьшив исходный код до этой записи.

...