Предложите пользователю заменить определенные части текста в строке - PullRequest
0 голосов
/ 13 ноября 2011

У меня есть программа, которая позволяет пользователю вводить JavaScript в текстовое поле, и она выполняется в средстве просмотра HTML или в iframe.Существует раскрывающийся список с такими параметрами, как «Вставить изображение», который вставляет

var $'Image Name' = document.createElement('img');
$'Image Name'.src = $'Image URL';
$'Image Name'.style.position = 'absolute';
document.body.appendChild($'Image Name');

в текстовое поле.Я хочу, чтобы пользователь выбрал опцию «Вставить изображение», и у меня есть диалог, который просматривает каждый $'', и запрашивает что-то, чтобы заменить их, поэтому для первого $'Image Name' запрашивает у пользователя имя переменной изатем replace("$'Image Name'", userText), поэтому все $'Image Name' заменяются, и пользователю снова не предлагается тот же.Есть идеи?У меня есть это заменить:

replace(/^\$\"|\'.$\"|\'/gi, function ($string) { return prompt($string);});

, но оно соответствует кавычкам, а не тексту внутри кавычек, и я даже не знаю регулярное выражение, если вы можете решить регулярное выражение, я могу выяснить остальное.

1 Ответ

0 голосов
/ 19 ноября 2011

Полагаю, вы хотите что-то вроде этого:

replace(/\$'([^']+)'/g, function (s, contents) { return prompt(contents); });

, хотя я должен упомянуть, что это будет вести себя неправильно, если строка в одинарных кавычках заканчивается знаком доллара, или если строка в двойных кавычкахслучается, содержит $', или еще много чего;Вы должны быть в состоянии справиться с такого рода делами?(Из вашего вопроса не очевидно, полностью ли вы контролируете содержимое текстовой области, или это могут редактировать ваши пользователи.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...