Javascript.RU

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

Регулярное выражение
Здравствуйте!

Помогите, пожалуйста. Нужно извлечь из HTML-тэга весь текст и заменить переносы строк на пробелы. А так же удалить все "bla bla"
<span id="text">
    <b>bla bla</b><br>
    <u>text</u><br>
    text, text <br>
    text<br>
    text<br>
    <button>bla bla</button>
  </span>
  <script src="https://code.jquery.com/jquery-2.0.3.js"></script>
  <script>
    console.log( $('#text').text().trim().replace(/\n/, ' ') );
  </script>


Т.е. мне нужно так: text text,text text text
Ответить с цитированием
  #2 (permalink)  
Старый 10.03.2020, 16:08
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

<span id="text">
    <b>bla bla</b><br>
    <u>text</u><br>
    text, text <br>
    text<br>
    text<br>
    <button>bla bla</button>
  </span>
  <script src="https://code.jquery.com/jquery-2.0.3.js"></script>
  <script>
    console.log( $('#text').text().trim().text().trim().replace(/\n/g, '|').replace(/.+?\|/, '').replace(/.+?\|/, '').replace(/[^|]+$/, '') );
  </script>


Затупил. Так работает. Можно как-нибудь упростить?
Ответить с цитированием
  #3 (permalink)  
Старый 10.03.2020, 16:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Decode,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
<span id="text">
    <b>bla bla</b><br>
    <u>text</u><br>
    text, text <br>
    text<br>
    text<br>
    <button>bla bla</button>
  </span>
  <script src="https://code.jquery.com/jquery-2.0.3.js"></script>
  <script>
   var txt = $('#text').contents().filter(function() {
     return this.nodeType == 3 || this.nodeName == 'U';
   }).get().map(el => el.textContent).join(' ').replace(/\s+/g, ' ');
   console.log(txt);

  </script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 10.03.2020, 20:18
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

<span id="text">
	<b>bla bla</b><br>
	<u>text</u><br>
	text, text <br>
	text<br>
	text<br>
	<button>bla bla</button>
</span>
<script>
	var txt = document.querySelector("#text").textContent
		.replace(/bla bla/g, "") // удаляю «bla bla»
		.replace(/(\s*\r?\n\s*)+/g, " ") // заменяю переводы строк на пробелы
		.trim()
	console.log(txt);
</script>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение Medvedoc Firefox/Mozilla 2 08.11.2017 17:42
Регулярное выражение tata4ka Общие вопросы Javascript 4 15.11.2014 00:56
Регулярное выражение и метод test tsigel Общие вопросы Javascript 3 30.08.2013 13:47
Регулярное выражение: любой символ, включая перевод строки Gleb Общие вопросы Javascript 3 28.07.2011 12:15
регулярное выражение theo_ Общие вопросы Javascript 15 21.06.2010 10:29