Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.02.2018, 05:15
Интересующийся
Отправить личное сообщение для zhenia3003 Посмотреть профиль Найти все сообщения от zhenia3003
 
Регистрация: 06.02.2018
Сообщений: 10

Регулярка по замене символа
Хочу в тексте заменить двойные ковычки на елочки:
alert($('.text').html().replace(/"([^"]+)"/g, '«$1»'));

Но замена происходит и у тегов, как в регулярке указать, чтобы искомое значение не начиналось со знака "=" (равно) ?
Ответить с цитированием
  #2 (permalink)  
Старый 16.02.2018, 08:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от zhenia3003
чтобы искомое значение не начиналось со знака "="
Как вариант...

alert($('.text').html().replace(/([^=])?"([^"]+)"/g, '$1«$2»'));
Ответить с цитированием
  #3 (permalink)  
Старый 16.02.2018, 08:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

ksa,
это не будет работать.
Ответить с цитированием
  #4 (permalink)  
Старый 16.02.2018, 09:35
Интересующийся
Отправить личное сообщение для zhenia3003 Посмотреть профиль Найти все сообщения от zhenia3003
 
Регистрация: 06.02.2018
Сообщений: 10

Не работает. В начале текста ковычки заменяются, а когда доходит до тегов получаю следующее:
<img src="«/images/blog/2018/2/1/1.jpg»" alt="«Интерьерные" наклейки»="">
Ответить с цитированием
  #5 (permalink)  
Старый 16.02.2018, 09:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

zhenia3003,
примеры что есть на входе, что хотите на выходе, несколько?
Ответить с цитированием
  #6 (permalink)  
Старый 16.02.2018, 09:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

zhenia3003,
если речь о замене в структуре html, то лучше получать тег, затем его содержимое, которое и изменять уже. В общем-то об этом уже столько написано, и плагинов уже наклепали. Просто скриптов "наколенных" тоже уже предостаточно.

https://habrahabr.ru/sandbox/67646/
Ответить с цитированием
  #7 (permalink)  
Старый 16.02.2018, 09:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от zhenia3003
Хочу в тексте заменить двойные ковычки на елочки:
так может в тексте и менять?
Ответить с цитированием
  #8 (permalink)  
Старый 16.02.2018, 09:54
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

Сообщение от zhenia3003
$('.text').html().replace ...
лучше обойти дерево $('.text') и сделать замены в текстовых нодах
Ответить с цитированием
  #9 (permalink)  
Старый 16.02.2018, 10:05
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от laimas
это не будет работать.
Сообщение от zhenia3003
Не работает.
<img src="«/images/blog/2018/2/1/1.jpg»" alt="«Интерьерные" наклейки»="">
Не работает не из-за моей "добавки"...
Оно не рабочее изначально.
Сообщение от рони
так может в тексте и менять?
Так же искать значения атрибутов и менять в них...
Ответить с цитированием
  #10 (permalink)  
Старый 16.02.2018, 10:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от zhenia3003
В начале текста ковычки заменяются, а когда доходит до тегов получаю следующее:
<img src="«/images/blog/2018/2/1/1.jpg»" alt="«Интерьерные" наклейки»="">
Как вариант...

var str='<img src=""/images/blog/2018/2/1/1.jpg"" alt=""Интерьерные" наклейки">';
alert(str.replace(/([^=])?"([^"=]+?)"/g, '$1«$2»'));

Но кавычки должны быть парными внутри...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена символа SergeiAzarov Общие вопросы Javascript 7 07.12.2015 13:47
Почему при вводе последнего символа происходит выделение в инпуте? Валерий1996 Общие вопросы Javascript 1 02.09.2015 13:19
Сохранение символа и его вывод на экран, вся цепочка процесса FanAizu Оффтопик 1 21.03.2015 01:58
Замена или удаление последнего символа BashOrgRu jQuery 2 11.01.2014 14:01
Размер символа из моноширинного шрифта danik.js Общие вопросы Javascript 2 28.01.2013 21:43