Как мне убежать? - PullRequest
       20

Как мне убежать?

0 голосов
/ 18 октября 2011

это простая функция логгера. Я хочу загрузить массив для содержимого DIV:

document.getElementById('layout').innerHTML = '<?php foreach ($logs as $item) { echo str_replace(array('"',"'"), array ('&quot;','&#039;'), $item).'<hr />'; } ?>';

потому что $ logs может содержать элементы HTML, но не кавычки, так как они могут испортить отображение. Все должно быть в порядке, но Firefox говорит «неправильно сформированная последовательность символов Unicode», и он не отображается. И что теперь?

Ответы [ 2 ]

1 голос
/ 18 октября 2011

используйте HTML-сущности , чтобы перевести ваш HTML-код в безопасную последовательность

0 голосов
/ 18 октября 2011

Я могу ошибаться, но похоже, что вы пытаетесь ввести php-код на свою страницу, используя javascript.Javascript является клиентской стороной, поэтому, если что-нибудь, вы получите полный код, а не проанализированный код.

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

Это может выглядеть так (не проверял foreach для вас)

<?//this part is parsed before sending it to the client
   $conts = "'"; 
   foreach ($logs as $item) { 
        $conts .= str_replace(array('"',"'"), array ('&quot;','&#039;'), $item);
        $conts .= "<hr/>";
   }
   $conts .= "'";
?>
document.getElementById('layout').innerHTML = <? echo $conts ?>;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...