2015-08-29 4 views
-1

Может кто-то мне помочь с этим, пожалуйста. Мне нужно, чтобы это хранилось в переменной как длинная строка. У меня есть функция, называемая такими простыми вставками это в DOM, добавленном в другой div. Все работает отлично, но я не могу понять, как сохранить эту строку со всеми ее и внутри нее. Я попытался использовать методы \ и unescape, которые я нашел в своем поиске, но, похоже, не работает, чтобы работать. Может ли кто-нибудь помочь мне, пожалуйста?Конвертировать 'и' внутри строки, которая будет использоваться внутри переменной. (Javascript)

'<div class="centerContent"><P>Please fill in the form below to send an email to H.O.V.A.R.<br/>All fields are required.</p><?php if(!empty($errors)): ?><div class="errorPanel"><ul><li><?php echo implode('</li><li>',$errors); ?></li></ul></div><?php endif ?><form action="contact.php" method="post" accept-charset="utf-8"><label>Your Name:<input type="text" name="name" style="display:block" autocomplete="off"<?php echo isset($fields['name']) ? 'value="' . e($fields['name']) . '"' : '' ?>></label><label>Your email address:<input type="text" name="email" style="display:block" autocomplete="off"<?php echo isset($fields['email']) ? 'value="' . e($fields['email']) . '"' : '' ?>></label><label>Your Message:<textarea name="message" rows="10" style="display:block"><?php echo isset($fields['message']) ? e($fields['message']) : '' ?></textarea></label><input type="submit" value="Send" style="display:block"></form></div>' 
+0

Как на земле эта строка должна использоваться? У вас в нем есть PHP-теги ... вы используете другой язык для анализа PHP, который затем будет отображать HTML? – Shomz

+0

@Shomz, Почему у него нет php-тегов в этой строке, если он пишет свой JS в **. Php ** page? – Rayon

+0

@RayonDabre В этом случае это не имеет значения для вопроса, поскольку мы заботимся только о финальной строке, верно? Я предполагаю, что проблема с цитатой возникает из-за чего-то вроде 'var str = '';', И ​​в этом случае вы ** не можете ** анализировать теги PHP внутри него. – Shomz

ответ

0

Хотя следующий показывает, как избежать кавычек, имея такую ​​длинную череду довольно громоздкий, и это непонятно, что вы пытаетесь достичь в конечном счете ...

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

var HTML = "<div class=\"centerContent\"><P>Please fill in the form below to send an email to H.O.V.A.R.<br/>All fields are required.</p><?php if(!empty($errors)): ?><div class=\"errorPanel\"><ul><li><?php echo implode('</li><li>',$errors); ?></li></ul></div><?php endif ?><form action=\"contact.php\" method=\"post\" accept-charset=\"utf-8\"><label>Your Name:<input type=\"text\" name=\"name\" style=\"display:block\" autocomplete=\"off\"<?php echo isset($fields['name']) ? 'value=\"' . e($fields['name']) . '\"' : '' ?>></label><label>Your email address:<input type=\"text\" name=\"email\" style=\"display:block\" autocomplete=\"off\"<?php echo isset($fields['email']) ? 'value=\"' . e($fields['email']) . '\"' : '' ?>></label><label>Your Message:<textarea name=\"message\" rows=\"10\" style=\"display:block\"><?php echo isset($fields['message']) ? e($fields['message']) : '' ?></textarea></label><input type=\"submit\" value=\"Send\" style=\"display:block\"></form></div>"; 
 

 
console.log(HTML);

+0

Извините, у меня есть файл index.php, в котором есть

. Затем функция в связанном файле js заполняет div, а не имеет массы и массы блочного кода в индексном файле, поэтому его легче читать. Как я уже сказал, все работает отлично с другим примером, так как нет символов, которые мешают HTML-тегам, а что нет .... Я просто хочу преобразовать указанную строку в строку, которая может быть передана в var, который показывает как html и процессы, как если бы все это было написано только внутри
,,,code inserted in here....

+0

Что означает -1, следующий за моим комментарием? я сделал что-то не так? –

0

Поскольку ваша строка начинается с одиночной кавычки, то вам нужно бежать каждую цитату в течение времени, которое вы строите строку (если вы начинали строку с кавычками вы должны были бежать двойные кавычки). I. внутри строки каждая отдельная цитата должна быть экранирована передним косой чертой (например: \). Вы не можете сделать это при использовании строки, поскольку PHP и/или Javascript будут жаловаться на строку с незаконными токенами.

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

Все это сводится к тому, что PHP-вызовы в строке. То, что вы должны сделать, это удалить вызовы php в вашей строке. Поэтому, введя «<?php .... ?>» в строке, вы должны ввести результат вызова PHP в строку.