Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (JS) Регулярное выражение отказывается нормально работать. / 11 сообщений из 11, страница 1 из 1
30.11.2005, 09:42
    #33407524
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) Регулярное выражение отказывается нормально работать.
Есть такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<html>
<script>
  function f(){
  var str = new String();
  var querry = new String();
  var gamers = new Array();
  var gamer = new Array();
  var s = new String();
  var i = 0 ;
  
 document.forma.textf.value = document.forma.textf.value.replace(/<\/..>/, "");
  
  gamers = document.forma.textf.value.split(/<tr>/);
  for (i =  0 ; i < gamers.length; i++){
    gamer = gamers[i].split(/<th>/);
    querry = querry + "\nINSERT INTO gamers(name, points) VALUES(\"" + gamer[2] + "\", " + gamer[ 5 ] + ");\n";
  }  
  
  querry =querry.replace(/<...>/, "");
  querry =querry.replace(/\s/, "");
  document.forma.out.value = querry;
  
  }
</script>
<body>
  <input type="button" onclick="f();">
  <form name="forma">
    <textarea name="textf" cols= 150  rows= 20 ></textarea><br/>
    <textarea name="out" cols= 150  rows= 20 ></textarea>
  </form>
</body>
</html>
Такой текст:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
<tr>
     <th> 1   
     <font color="#87ceeb">*</font>      
        <th>Radimir
            <th>
            <a href="http://ogame279.de/game/writemessages.php?session=edfde2b41fdc&messageziel=102323">
      <img src="stat.php_files/m.gif" alt="оБРЙУБФШ УППВЭЕОЙЕ" border="0">
      </a>
             
      
      <th>RPGP
      <th> 240300    

<tr>
     <th> 2   
     <font color="#87ceeb">*</font>      
        <th>Sigtran</th>
            <th>
            <a href="http://ogame279.de/game/writemessages.php?session=edfde2b41fdc&messageziel=100431">
      <img src="stat.php_files/m.gif" alt="оБРЙУБФШ УППВЭЕОЙЕ" border="0">
      </a>
             
      </th>
      <th></th>
      <th> 235481 </th>   
</tr>
                        <tr>
     <th> 3   
     <font color="#87ceeb">*</font>      </th>
        <th>blah</th>
            <th>
            <a href="http://ogame279.de/game/writemessages.php?session=edfde2b41fdc&messageziel=100088">
      <img src="stat.php_files/m.gif" alt="оБРЙУБФШ УППВЭЕОЙЕ" border="0">
      </a>
             
      </th>
      <th>Warm</th>
      <th> 228541 </th>   
     </tr>
                        <tr>
     <th> 4   
     <font color="#87ceeb">*</font>      </th>
        <th>Logris</th>
            <th>
            <a href="http://ogame279.de/game/writemessages.php?session=edfde2b41fdc&messageziel=102334">
      <img src="stat.php_files/m.gif" alt="оБРЙУБФШ УППВЭЕОЙЕ" border="0">
      </a>
             
      </th>
      <th>x.M.T.x</th>
      <th> 214503 </th>   
     </tr>
При его прогоне через выражение получается вот что:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
INSERT INTO gamers(name, points) VALUES("undefined", undefined);

INSERT INTO gamers(name, points) VALUES("Radimir
            ",  240300    

);

INSERT INTO gamers(name, points) VALUES("Sigtran
            ",  235481 </th>   
</tr>
                        );

INSERT INTO gamers(name, points) VALUES("blah</th>
            ",  228541 </th>   
     </tr>
                        );

INSERT INTO gamers(name, points) VALUES("Logris</th>
            ",  214503 </th>   
     </tr>
                        );
Тоесть регулярное выражение не везде убрало теги. Почему?

Заранее всем спасибо.
...
Рейтинг: 0 / 0
30.11.2005, 11:33
    #33407881
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) Регулярное выражение отказывается нормально работать.
/<\/..>/g
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
30.11.2005, 11:37
    #33407895
VERS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) Регулярное выражение отказывается нормально работать.
Код: plaintext
1.
querry = querry.replace(/<[^>]*>/gm, "");
querry = querry.replace(/\s*/gm, "");
-------------------------------
www.free-lancer.ru
...
Рейтинг: 0 / 0
30.11.2005, 16:13
    #33409005
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) Регулярное выражение отказывается нормально работать.
Спасибо.
Моет ктонить подскажет ещё и выражение, которое любое количество пробелов превратит в один пробел?
...
Рейтинг: 0 / 0
30.11.2005, 16:26
    #33409053
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) Регулярное выражение отказывается нормально работать.
Не парьтесь. Я сам написал.
s = s.replace(/\s{,}/gm, " ");
...
Рейтинг: 0 / 0
30.11.2005, 16:42
    #33409109
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) Регулярное выражение отказывается нормально работать.
А вот это, что за боян:
Код: plaintext
replace(/\s">/gm, "\"");
После этого в тексте остаются строки типа:
Код: plaintext
"Radimir "
Хотя должно былоб
Код: plaintext
"Radimir"
...
Рейтинг: 0 / 0
30.11.2005, 16:59
    #33409168
VERS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) Регулярное выражение отказывается нормально работать.
Если ты все про тот же код, у меня такой регэксп катит:
Код: plaintext
querry =querry.replace(/\s{ 2 ,}/gm, "");

-------------------------------
www.free-lancer.ru
...
Рейтинг: 0 / 0
30.11.2005, 19:22
    #33409648
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) Регулярное выражение отказывается нормально работать.
VERSЕсли ты все про тот же код, у меня такой регэксп катит:
Код: plaintext
querry =querry.replace(/\s{ 2 ,}/gm, "");

-------------------------------
www.free-lancer.ru
Не-е-е. Тут есть другая фишка. Дело в том, что \s убирает не только пробелы, но и переводы строк. Переводы строк тож нежелательны. Я их сам расставлю где надо:)
Так вот: /\s{1,}/gm убирёт и пробельные символы.
...
Рейтинг: 0 / 0
30.11.2005, 19:27
    #33409661
VERS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) Регулярное выражение отказывается нормально работать.
/\s{2,}/ уберет 2 и более подряд идущие \s .Т.е., если в строке есть просто пробел межд словами, он сохрянится.

-------------------------------
www.free-lancer.ru
...
Рейтинг: 0 / 0
30.11.2005, 19:32
    #33409666
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) Регулярное выражение отказывается нормально работать.
VERS/\s{2,}/ уберет 2 и более подряд идущие \s .Т.е., если в строке есть просто пробел межд словами, он сохрянится.

-------------------------------
www.free-lancer.ru
Он не уберёт все переводы строки. Пробел между словами и в моём варианте сохранится.
...
Рейтинг: 0 / 0
01.12.2005, 13:21
    #33410919
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS) Регулярное выражение отказывается нормально работать.
replace(/\s+">/gm, "\"");
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (JS) Регулярное выражение отказывается нормально работать. / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]