Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Заменить <strong></strong> на </br> (https://javascript.ru/forum/misc/44955-zamenit-strong-strong-na-br.html)

dima*** 08.02.2014 08:41

Заменить <strong></strong> на </br>
 
Подскажите,пожалуйста,как заменить <strong></strong> на </br> в коде с помощью яваскрипт?
Код:
view-source:http://www.ffsk.ru/articler.php?id=857

danik.js 08.02.2014 09:04

Цитата:

Сообщение от dima***
с помощью яваскрипт

У тя серверный скрипт на яваскрипте чтоли?
Вариант с css strong{display:block} не рассматривал?

dima*** 08.02.2014 09:18

У меня вот:
<html>
<head>
<title>Документ без названия</title>
</head>
<body>
<p style ='display:none'>


1 тур - 13 апреля

Благодарный - Китаевское       4-1
Александрия - Эдельбай          2-3
Алексеевское - Шишкино       11-0
Елизаветинское - Мирное        5-0
Бурлацкое - Спасское             6-1

20 апреля - с.Елизаветинское
Кубок памяти Героя Советского Союза, участника Великой Отечественной войны Якова Бочарова 
Традиционный кубок памяти в Елизаветинском, начало соревнований в 10-00 час.
Кроме турнира состоится жеребьевка Кубка Благодарненского района по футболу на призы газеты «Благодарненские вести».

2 тур  - 27 апреля

Китаевское - Спасское           3-0 (+/-)
Мирное - Бурлацкое              2-4
Шишкино - Елизаветинское    1-12
Эдельбай - Алексеевское       2-0
Благодарный - Александрия   12-0

1 мая - с.Спасское
Турнир по футболу памяти М.Д.Макагонова
Начало соревнований в 10-00 час. 
Принимали участие 8 команд. Победители турнира - командаа.Эдельбай, серебряные призеры - команда с.Мирного.
3 тур  -  3-4 мая  

Александрия - Китаевское        3-0 (+/-)
Алексеевское - Благодарный    0-3
Елизаветинское - Эдельбай      1-2
Бурлацкое - Шишкино            20-0
Спасское - Мирное                  2-1

34-й турнир по футболу памяти участника Великой Отечественной войны, Героя Советского Союза Петра Прилепы 
10 мая - с.Каменная Балка Начало соревнований в 10-00 час.

Турнир проводился уже в 34-й раз! Участвовали 6 команд. Места распределились следующим образом : 1 место - Алексеевское, 2 место - Спасское, 3 место - Эдельбай, 4 место - Мирное, 5 место - Каменная Балка - 1, 6 место - Каменная Балка - 2. Кубок победителям и призы вручали Глава сельского поселения Каменнобалковский сельсовет: Петренко Виктор Васильевич и заместитель начальника отдела социального развития АБМР Николай Дмитриевич Карандин.
 

4 тур - 11 мая

Китаевское - Мирное                0-3 (-/+)
Шишкино - Спасское                 0-5
Эдельбай - Бурлацкое               5-2
Благодарный - Елизаветинское   3-1
Александрия - Алексеевское      1-11


</p>

<script>

var a=document.getElementsByTagName('p')[0].innerHTML;
a=a.replace(/^\s*?\n+\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');

reg0=/\d+\sтур\s\-\s\d+\s[а-я]+/mg;
reg2=/^(.+)\s\-\s(.*?)\s{2,}(\d\-\d|[а-я]+)$/img;

b=a.replace(reg2,'$1,$2,$3').replace(/(\d)\-(\d)/img,'$1,$2');
b=b.split(/\n/).join('<br>');

document.write(b);


</script>
</body>
</html>


Нужно чтобы:
1 тур - 13 апреля,
Благодарный,Китаевское,
Александрия,Эдельбай,
Алексеевское,Шишкино,
Елизаветинское,Мирное,
Бурлацкое,Спасское,
и т.д.

А <strong> в коде всё портит

danik.js 08.02.2014 12:15

Цитата:

Сообщение от dima***
А <strong> в коде всё портит

Не вижу никакого <strong> в коде.

dima*** 08.02.2014 14:02

Подскажите,пожалуйста,что не так сделал?

Получается :1 тур - 13 апреляБлагодарный,Китаевс ое,4,1
А нужно:1 тур - 13 апреля,
Благодарный,Китаевское,4,1,

dima*** 08.02.2014 22:08

Регулярка неправильная?

skrudjmakdak 08.02.2014 22:20

давай начнем с другого конца, зачем тебе все это? ты просто учишься регулярки писать? или нет? почему нельзя это на сервере формировать?

skrudjmakdak 08.02.2014 22:38

вот попробуй:
var a = "<strong>Состав участников :</strong><strong>Состав участников :</strong>";
var reg=/(\<strong\>)(.*?)(\<\/strong\>)/g;
b = a.replace(reg, '$2' + '<br>');
console.log(b);

dima*** 08.02.2014 23:03

skrudjmakdak,вы в прошлый раз очень помогли!
Нет ,нужно не потренироваться рег. выражениям,а не могу сделать вот так(неделю бьюсь,варианты все закончились у меня,как это сделать:( ):
С сервера просто копируется.


1 тур - 13 апреля,
Благодарный,Китаевское,
Александрия,Эдельбай,
Алексеевское,Шишкино,
Елизаветинское,Мирное,
Бурлацкое,Спасское,


<html>
<head>
<title>Документ без названия</title>
</head>
<body>
<p style ='display:none'>


1 тур - 13 апреля

Благодарный - Китаевское       4-1
Александрия - Эдельбай          2-3
Алексеевское - Шишкино       11-0
Елизаветинское - Мирное        5-0
Бурлацкое - Спасское             6-1

20 апреля - с.Елизаветинское
Кубок памяти Героя Советского Союза, участника Великой Отечественной войны Якова Бочарова 
Традиционный кубок памяти в Елизаветинском, начало соревнований в 10-00 час.
Кроме турнира состоится жеребьевка Кубка Благодарненского района по футболу на призы газеты «Благодарненские вести».

2 тур  - 27 апреля

Китаевское - Спасское           3-0 (+/-)
Мирное - Бурлацкое              2-4
Шишкино - Елизаветинское    1-12
Эдельбай - Алексеевское       2-0
Благодарный - Александрия   12-0

1 мая - с.Спасское
Турнир по футболу памяти М.Д.Макагонова
Начало соревнований в 10-00 час. 
Принимали участие 8 команд. Победители турнира - командаа.Эдельбай, серебряные призеры - команда с.Мирного.
3 тур  -  3-4 мая  

Александрия - Китаевское        3-0 (+/-)
Алексеевское - Благодарный    0-3
Елизаветинское - Эдельбай      1-2
Бурлацкое - Шишкино            20-0
Спасское - Мирное                  2-1

34-й турнир по футболу памяти участника Великой Отечественной войны, Героя Советского Союза Петра Прилепы 
10 мая - с.Каменная Балка Начало соревнований в 10-00 час.

Турнир проводился уже в 34-й раз! Участвовали 6 команд. Места распределились следующим образом : 1 место - Алексеевское, 2 место - Спасское, 3 место - Эдельбай, 4 место - Мирное, 5 место - Каменная Балка - 1, 6 место - Каменная Балка - 2. Кубок победителям и призы вручали Глава сельского поселения Каменнобалковский сельсовет: Петренко Виктор Васильевич и заместитель начальника отдела социального развития АБМР Николай Дмитриевич Карандин.
 

4 тур - 11 мая

Китаевское - Мирное                0-3 (-/+)
Шишкино - Спасское                 0-5
Эдельбай - Бурлацкое               5-2
Благодарный - Елизаветинское   3-1
Александрия - Алексеевское      1-11


</p>

<script>

var a=document.getElementsByTagName('p')[0].innerHTML;
a=a.replace(/^\s*?\n+\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');

reg0=/\d+\sтур\s\-\s\d+\s[а-я]+/mg;
reg2=/^(.+)\s\-\s(.*?)\s{2,}(\d\-\d|[а-я]+)$/img;

b=a.replace(reg2,'$1,$2,$3').replace(/(\d)\-(\d)/img,'$1,$2');
b=b.split(/\n/).join('<br>');

document.write(b);


</script>
</body>
</html>


Нужно чтобы:
1 тур - 13 апреля,
Благодарный,Китаевское,
Александрия,Эдельбай,
Алексеевское,Шишкино,
Елизаветинское,Мирное,
Бурлацкое,Спасское,
и т.д.

skrudjmakdak 09.02.2014 10:42

начну опять с того, что я так и не понял нафига оно тебе :) ну да ладно, дело твое..
я тебе говорил про фаербаг? отлавливай ошибки там, это очень удобное средство для отлова ошибок. я пользуюсь хромом, там встроенный фаербаг и устанавливать ничего не надо, и он простой в обращении, этим хром мне и нравится. достаточно нажать f12.

в инете много инфы, почитай, будет полезно. что будет непонятно - спрашивай. например, вот ссылка:
http://dvpress.ru/urok-78-firebug-for-vebmastera/.html
только там они его устанавливают, не знаю зачем. повторюсь, это делать не надо..

теперь ближе к делу... рассказывать буду в комментах. вот код, тынц:
<html>
	<head>
		<title>Документ без названия</title>
	</head>
	<body>
		<p style ='display:none'>


		1 тур - 13 апреля

		Благодарный - Китаевское       4-1
		Александрия - Эдельбай          2-3
		Алексеевское - Шишкино       11-0
		Елизаветинское - Мирное        5-0
		Бурлацкое - Спасское             6-1

		20 апреля - с.Елизаветинское
		Кубок памяти Героя Советского Союза, участника Великой Отечественной войны Якова Бочарова 
		Традиционный кубок памяти в Елизаветинском, начало соревнований в 10-00 час.
		Кроме турнира состоится жеребьевка Кубка Благодарненского района по футболу на призы газеты «Благодарненские вести».

		2 тур  - 27 апреля

		Китаевское - Спасское           3-0 (+/-)
		Мирное - Бурлацкое              2-4
		Шишкино - Елизаветинское    1-12
		Эдельбай - Алексеевское       2-0
		Благодарный - Александрия   12-0

		1 мая - с.Спасское
		Турнир по футболу памяти М.Д.Макагонова
		Начало соревнований в 10-00 час. 
		Принимали участие 8 команд. Победители турнира - командаа.Эдельбай, серебряные призеры - команда с.Мирного.
		3 тур  -  3-4 мая  

		Александрия - Китаевское        3-0 (+/-)
		Алексеевское - Благодарный    0-3
		Елизаветинское - Эдельбай      1-2
		Бурлацкое - Шишкино            20-0
		Спасское - Мирное                  2-1
		</p>
		<p>
		
		</p>
		<script>

var ps = document.querySelectorAll('p'),
	p1 = ps[0].innerHTML,
	p2 = ps[1];

//находим элементы по-новому. это новые методы. если слышал про jQuery, то это равносильно $('.p')

console.log(p1);
//выводим в консоль найденное значение, мы нашли то что нам надо..
a = p1.replace(/(\n\s*\n)|(\n)/img, '<br>');
//регулярка, заменяющая \n (перевод строки) на <br>
// | - означает "или" т.е. (\n\s*\n) или (\n)
//при этом заметь выражение (\n\s*\n) стоит первым, нежеле (\n), потому что оно проверяется первым
//первое выражение заменяет две \n если между ними стоят ТОЛЬКО пробелы, например:
/*
1 тур - 13 апреля {{{\n
\n}}} <<<---- заменить две \n на одну <br>
		Благодарный - Китаевское       4-1\n
		Александрия - Эдельбай          2-3
*/
//если это условие не выполняется, то проверяется второе условие (\n) и если оно выполняется, то заменяем на <br>

console.log(a);
//выводим в консоль
p2.innerHTML = a;
//выводим на дисплей

//п.с. я яростный, злостный противник document.write() :) я люблю выводить все в консоль console.log() 

/*
a=a.replace(/^\s*?\n+\s*|\s*?\n\s*$/img,'').split(/\s*\n\s* /).join('\n');
console.log(a);
reg0=/\d+\sтур\s\-\s\d+\s[а-я]+/mg;
reg2=/^(.+)\s\-\s(.*?)\s{2,}(\d\-\d|[а-я]+)$/img;

b=a.replace(reg2,'$1,$2,$3').replace(/(\d)\-(\d)/img,'$1,$2');
b=b.split(/\n/).join('<br>');

document.write(b);
*/

		</script>
	</body>
</html>


Часовой пояс GMT +3, время: 02:50.