Я знаю, что упускаю что-то простое, но не могу понять, поэтому я спрошу экспертов.
В Drupal через Jquery, hook_menu и ajax я получаю следующую строку:
\x3cform action=\"/comment/reply/1360\" accept-charset=\"UTF-8\" method=\"post\" id=\"comment-form\" class=\"ajax-form\"\x3e\n\x3cdiv\x3e\x3cdiv class=\"form-item\"\x3e\n \x3clabel\x3eYour name: \x3c/label\x3e\n \x3ca href=\"/users/testuser1\" title=\"View user profile.\"\x3etestuser1\x3c/a\x3e\n\x3c/div\x3e\n\x3cdiv class=\"form-item\" id=\"edit-comment-wrapper\"\x3e\n \x3clabel for=\"edit-comment\"\x3eComment: \x3cspan class=\"form-required\" title=\"This field is required.\"\x3e*\x3c/span\x3e\x3c/label\x3e\n \x3ctextarea cols=\"60\" rows=\"15\" name=\"comment\" id=\"edit-comment\" class=\"form-textarea required\"\x3e\x3c/textarea\x3e\n \x3cdiv class=\"description\"\x3eComments are limited to a maximum of \x3cem\x3e200\x3c/em\x3e characters.\x3c/div\x3e\n\x3c/div\x3e\n\x3cul class=\"tips\"\x3e\x3cli\x3eWeb page addresses and e-mail addresses turn into links automatically.\x3c/li\x3e\x3cli\x3eAllowed HTML tags: \x26lt;a\x26gt; \x26lt;em\x26gt; \x26lt;strong\x26gt; \x26lt;cite\x26gt; \x26lt;code\x26gt; \x26lt;ul\x26gt; \x26lt;ol\x26gt; \x26lt;li\x26gt; \x26lt;dl\x26gt; \x26lt;dt\x26gt; \x26lt;dd\x26gt;\x3c/li\x3e\x3cli\x3eLines and paragraphs break automatically.\x3c/li\x3e\x3c/ul\x3e\x3cp\x3e\x3ca href=\"/filter/tips\"\x3eMore information about formatting options\x3c/a\x3e\x3c/p\x3e\x3cinput type=\"hidden\" name=\"form_build_id\" id=\"form-0c4051b953791d21147f76e11c2ab7c4\" value=\"form-0c4051b953791d21147f76e11c2ab7c4\" /\x3e\n\x3cinput type=\"hidden\" name=\"form_token\" id=\"edit-form-token\" value=\"8dd5324de6e086d9412e9407eb7aba1e\" /\x3e\n\x3cinput type=\"hidden\" name=\"form_id\" id=\"edit-comment-form\" value=\"comment_form\" /\x3e\n\x3cinput type=\"submit\" name=\"op\" id=\"edit-submit\" value=\"COMMENT\" class=\"form-submit ajax-trigger\" /\x3e\n\x3cinput type=\"submit\" name=\"op\" id=\"edit-preview\" value=\"Preview\" class=\"form-submit ajax-trigger\" /\x3e\n\n\x3c/div\x3e\x3c/form\x3e\n</div>
и мне нужно, чтобы это закончилось так, как написано в div:
<form action="/comment/reply/1360" accept-charset="UTF-8" method="post" id="comment-form" class="ajax-form"> <div><div class="form-item"> <label>Your name: </label> <a href="/users/testuser1" title="View user profile.">testuser1</a> </div> <div class="form-item" id="edit-comment-wrapper"> <label for="edit-comment">Comment: <span class="form-required" title="This field is required.">*</span></label> <textarea cols="60" rows="15" name="comment" id="edit-comment" class="form-textarea required"></textarea> <div class="description">Comments are limited to a maximum of <em>200</em> characters.</div> </div> <ul class="tips"><li>Web page addresses and e-mail addresses turn into links automatically.</li><li>Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd></li><li>Lines and paragraphs break automatically.</li></ul><p><a href="/filter/tips">More information about formatting options</a></p><input type="hidden" name="form_build_id" id="form-0c4051b953791d21147f76e11c2ab7c4" value="form-0c4051b953791d21147f76e11c2ab7c4" /> <input type="hidden" name="form_token" id="edit-form-token" value="8dd5324de6e086d9412e9407eb7aba1e" /> <input type="hidden" name="form_id" id="edit-comment-form" value="comment_form" /> <input type="submit" name="op" id="edit-submit" value="COMMENT" class="form-submit ajax-trigger" /> <input type="submit" name="op" id="edit-preview" value="Preview" class="form-submit ajax-trigger" /> </div></form>
поэтому я написал это:
function unjsEncode(string){
var leftCaret = /\x3c/ig;
var rightCaret = /\x3e/ig;
var lineBreak = /\n/ig;
var escQuote = /\"/ig;
var newstring = string.replace(leftCaret, "<" );
newstring = newstring.replace(rightCaret, ">");
newstring = newstring.replace(lineBreak, " ");
newstring = newstring.replace(escQuote, '"');
return newstring;
}
Но это не работает. В конце долгого пути выясняется, как писать динамические формы в Drupal, и я чувствую себя идиотом, который не может понять простую подпрограмму регулярного выражения в js, но через 8 часов я здесь. Буду очень признателен за любую помощь в обучении меня ловить рыбу!