Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   Помогите разобраться с условие и парсингом (https://javascript.ru/forum/css-html-firefox-mizilla/69361-pomogite-razobratsya-s-uslovie-i-parsingom.html)

Stanei 17.06.2017 03:01

Помогите разобраться с условие и парсингом
 
Добрый день, в javascript я не бум-бум, сразу говорю, но приходится осваивать. Так что помогите пожалуйста. Пытаюсь написать скрипт для imacros, который просто бегает по сайту.

Так вот, создал Test.js с кодом:
var XMLHttpRequest=Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1");
var b=XMLHttpRequest();
b.open('GET','http://site.ru/',false);
b.send('');
var text = b.responseText;


тут в переменную "text" заносится весь html код страницы. Как теперь мне создать небольшое условие, если в переменной "text" есть слово "онлайн" то запустить test2.js

и то же на счёт парсинга, нужно как бы определённый кусок текста вытащить из переменной "text" и потом тоже проверить условие.

Вот в паскале это выглядело бы примерно так:
Код:

Function pars (a,s,d:string):string
begin
//функция парсинга
end;

//.........................


procedure start;
var
text:string; //объявляем переменную
begin
text:='{html код страницы}'; //присваиваем значение переменной

if pos('онлайн',text)<>0 then //проверка есть ли в переменной слово "онлайн"
begin
//если есть запускаем test2.js
end
else //иначе
begin
//и парсинг
text:=pars('начало',text,'конец'); //выдираем кусок текста и переменной "text" и перезаписываем её
//и далее опять условие если в переменной есть слово, то делаем это, иначе другое, см.выше.
end;


j0hnik 17.06.2017 03:43

if (text.match( /онлайн/ )) // если true что-то делаем

Stanei 17.06.2017 03:55

Цитата:

Сообщение от j0hnik (Сообщение 455739)
if (text.match( /онлайн/ )) // если true что-то делаем

Брат, от души! То что нужно!

А что на счёт парсинга? Есть такая ф-ция в js?

j0hnik 17.06.2017 04:04

поиск и замена если я тебя правильно понял

<html>
<head>
	<meta charset="utf-8">
</head>
<body>
	<script>
	function rep(str){
return str.replace(/словоА/g,"словоБ")
}
alert(rep("Далеко-далеко за словоА горами в словоА, гласных и согласных живут рыбные тексты. Безопасную прямо собрал рыбными алфавит, заглавных точках парадигматическая злых дорогу, рот последний переулка родного запятой вдали словоА, снова гор жаренные."))
	</script>
</body>
</html>

вот пример, словоА заменяется словомБ

j0hnik 17.06.2017 04:07

Функций много, что именно надо вытаскивать и на какое условие проверять?
https://developer.mozilla.org/ru/doc...String/replace
почитай, можно вторым аргументом подтянуть функцию и проверить на что-то, а первым использовать regExp


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