Я намагаюся виправити вбудований фрагмент JavaScript, який буде переписаний на поле введення.
У мене є одинарні лапки, які обертають внутрішні подвійні лапки, і я хочу перетворити внутрішні лапки, щоб вони були єдиними замість подвійних, але я хочу тільки перетворити їх, коли код з'являється як вкладені лапки.
Зараз я "m роблять перетворення для всіх випадків цитату, яка працює, але я можу зіткнутися з іншою проблемою.
JavaScript
$(document).ready(function() {
$(".submit").bind("click", function(e) {
var yourstring = $("textarea").val();
yourstring = yourstring.replace(/"/g, """");
yourstring = yourstring.replace(/"e;/g, """);
yourstring = yourstring.replace(/&lquote;/g, """);
yourstring = yourstring.replace(/&rquote;/g, """);
yourstring = yourstring.replace(/"/g, """);
yourstring = yourstring.replace(/“/g, """);
yourstring = yourstring.replace(/”/g, """);
yourstring = yourstring.replace(/"/g, """);
alert(yourstring)
});
});
HTML
<textarea style="width:400px;height:300px;">
function("");
<a onclick="$(".text").append("test");">Click Me</a>
<br/>
&lquote;test quotes&rquote;
" generic quotes "
</textarea>
<input type="submit" class="submit">
Бути більш конкретним я намагаюся отримати
<a onclick="$(".text").append("test");">Click Me</a>
Щоб виглядати
<a onclick="$(".text").append("test");">Click Me</a>
Відповіді:
0 для відповіді № 1Наведений приклад не має жодного відношення до бази даних, але є проблемою з кодом JavaScript у межах onclick
атрибут. Цей код насправді не має дійсного синтаксису, але я думаю, що ви намагаєтеся створити якийсь редактор для HTML-коду.
Якщо ви вирішили не дотримуватися рекомендацій у наведених вище коментарях (з якими я згоден), щоб відповісти на своє запитання, тут можна видалити подвійні лапки для тексту, оточеного ними:
var s = "<a onclick="$(".text").append("test");">Click Me</a>";
var re = /"(.*)"/g;
var r = s.replace(re, function($0, $1) { return """ + $1.replace(/"/g, """") + """; });
console.log(r);