Подскажите регулярку. Нужно вырезать tr и всё их содержимое.
Подскажите регулярку. Нужно вырезать все <tr></tr>, в плане того, что нужны только <tr>содержимое</tr>, со страницы и всё их содержимое, и убрать все встречающиеся теги <p> и </p> без их содержимого.
Таблиц на странице несколько. Заранее не известно сколько. В каждой таблице всё это дело находится между тегами <tbody>. |
re=/<tr>.*?<\/tr>/g s="<body><tr><span>foo</span></tr>foo<div>foo</div><tr>bar</tr></body>" alert(s.match(re).join("")) // <tr><span>foo</span></tr><tr>bar</tr> Цитата:
re=/<p>([^>]+)<\/p>/g s="<div><p>foo</p></div><p>bar</p>" alert(s.replace(re, "$1")) // <div>foo</div>bar А остальные теги оставлять? |
Не получается. Тут запускаю всё ок, а у себя нет. Не пойму в чём дело.
function readTextFile(file) { var rawFile = new XMLHttpRequest(); rawFile.open("GET", file, false); rawFile.onreadystatechange = function () { if(rawFile.readyState === 4) { if(rawFile.status === 200 || rawFile.status == 0) { var allText = rawFile.responseText; allText.match(/<tr>.*?<\/tr>/g); alert(allText); } } } rawFile.send(null); } А с джойном вообще ничего не выводит. |
SokDobriy,
Вот так попробуй, видимо там проблемы с переносом строк: re=/<tr>[\s\S]*?<\/tr>/gm s="<body>\n<tr><span>foo\n</span></tr>\nfoo<div>foo</div>\n<tr>bar</tr><tr>baz</tr></body>" alert(s.match(re).join("")) |
Вложений: 1
Блин, всё равно(
Да, остальные теги, которые между tr нужны. Просто стереть сам тег <p> и </p>. Вот сам файл |
SokDobriy,
Слушай, он ж у тебя бинарный, или хз. Его к текстовому виду надо как то приводить. |
krutoy,
Я просто запаковал, там html внутри. Я этот html открываю как файл юзерскриптом и читаю его. |
SokDobriy,
я распаковал его, само сабой, это буфер какой-то, это не текстовый файл |
krutoy,
Это html файл, который функцией читается как текстовый. |
Или я что-то недопетриваю
|
SokDobriy,
короче, я его сконвертил, как смог, обработал, // ::: fs=require("fs") text=fs.readFileSync("new/SUPER.htm", "utf8") text=text.replace(/[\s\n\r]/gm, "") //на всякий случай:) re=/<tr>[\s\S]*?<\/tr>/gm text=text.match(re).join("\n\n") re=/<p>([\s\S]*?)<\/p>/gm text=text.replace(re, "$1") // <tr><td>8712581336028</td><td>SHE1350</td><td><C;LB820@:04;980B5?@>3.PHILIPSHD303</td><td>1.000</td><td>123.68</td><td>1000938226</td></tr> // // <tr><td>6923410710076</td><td>SHE7000WT/10</td><td>=0CH=8:82=CB@8:0=0;L=K5</td><td>1.000</td><td>555.83</td><td>1001024044</td></tr> // // <tr><td>01001024044</td><td>SHE7000WT/10</td><td>=0CH=8:82=CB@8:0=0;L=K5</td><td>1.000</td><td>669.00</td><td>01001024044</td></tr> // // <tr><td>8712581531041</td><td>SHS390</td><td>=0CH=8:8A?>@B82=K5240<</td><td>1.000</td><td>430.00</td><td>1000697748</td></tr> // // <tr><td>8712581401801</td><td>SHH1900/10</td><td>=0CH=8:8?>;=>@07<5@=K5</td><td>1.000</td><td>743.70</td><td>1000914320</td></tr> // // <tr><td>8712581584276</td><td>SHH2500/10</td><td>=0CH=8:8?>;=>@07<5@=K5</td><td>2.000</td><td>1769.26</td><td>1000914319</td></tr> // // <tr><td>B>3>?>3@C??5</td><tdcolspan="2">0CH=8:8/:>;>=:8:</td><td>7.000</td><td>4291.47</td><td></td></tr> // // <tr><td>01001022360</td><td>1530/00</td><td>@048>?@85<=8:PHILIPSAE</td><td>1.000</td><td>649.00</td><td>1001022360</td></tr> // // <tr><td>B>3>?>3@C??5</td><td>048>?@85<=8:8</td><td></td><td>1.000</td><td>649.00</td><td></td></tr> // // <tr><td>8712581708474</td><td>244109/60</td><td>B5;5287>@LCD24"PHILIP</td><td>1.000</td><td>9951.83</td><td>1001017196</td></tr> // // <tr><td>B>3>?>3@C??5</td><td>5"5;5287>@KLCD</td><td>24"-36":</td><td>1.000</td><td>9951.83</td><td></td></tr> // // <tr><td>8712581709105</td><td>40HFT4509/60</td><td>B5;5287>@LCD40"PHILIP</td><td>1.000</td><td>19082.45</td><td>1001024632</td></tr> // // <tr><td>8712581672027</td><td>46HFL4308T/60</td><td>B5;5287>@LCD46"PHILIP</td><td>1.000</td><td>24892.00</td><td>1000981202</td></tr> // // <tr><td>01001024632</td><td>40HFT4509/60</td><td>B5;5287>@LCD40"PHILIP</td><td>1.000</td><td>19082.00</td><td>1001024632</td></tr> // // <tr><td>8712581718428</td><td>40HFT4309/60</td><td>B5;5287>@LCD40"PHILIP</td><td>1.000</td><td>17670.77</td><td>1001024631</td></tr> // // <tr><td>8712581725853</td><td>42PFT6309/60</td><td>B5;5287>@LCD42"PHILIP</td><td>3.000</td><td>76898.11</td><td>1001027523</td></tr> // // <tr><td>01001027523</td><td>42HFT6309/60</td><td>B5;5287>@LCD42"PHILIP</td><td>1.000</td><td>24642.70</td><td>1001027523</td></tr> // // <tr><td>B>3>?>3@C??5</td><td>5"5;5287>@KLCD</td><td>37"-52":</td><td>8.000</td><td>182268.03</td><td></td></tr> // // <tr><td>B>3>?>3@C??5</td><td>5"5;5287>@KLCD</td><td></td><td>9.000</td><td>192219.86</td><td></td></tr> // // <tr><td>B>3>?>3@C??5</td><td>5"5;5287>@K</td><td></td><td>9.000</td><td>192219.86</td><td>пїЅ;</td></tr> // // <tr><td>8710101675268</td><td>SBCMD110</td><td><8:@>D>=+:015;L1,5<PHI</td><td>1.000</td><td>549.00</td><td>1000056221</td></tr> // // <tr><td>8710101675275</td><td>SBCDMD150</td><td><8:@>D>=>70?8>LN+:015;</td><td>1.000</td><td>406.83</td><td>1000056222</td></tr> // // <tr><td>B>3>?>3@C??</td><td>58:@>D>=K</td><td></td><td>2.000</td><td>955.83</td><td></td></tr> // // <tr><td>8712581550813</td><td>AJ1003/12</td><td>@048>G0AKA1C48;L=8:><</td><td>1.000</td><td>1673.26</td><td>1000979902</td></tr> // // <tr><td>8712581669348</td><td>AJ3400/12</td><td>@048>G0AKPhilipsAJ3400</td><td>3.000</td><td>2465.42</td><td>1001022343</td></tr> // // <tr><td>8712581639396</td><td>AJ3123/12</td><td>@048>G0AKA1C48;L=8:><</td><td>3.000</td><td>2157.17</td><td>1000922199</td></tr> // // <tr><td>B>3>?>3@C??</td><tdcolspan="2">5048>G0AK,G0AKM;5:B@>==K5:</td><td>7.000</td><td>6295.85</td><td></td></tr> // // <tr><td>B>3>?>3@C??</td><tdcolspan="2">5C48>-845>B5E=8:0:</td><td>47.000</td><td>221150.92</td><td></td></tr> // // <tr><td>8712581664510</td><td>D2001B</td><td>0??0@0BB5;5D>==K9DECT</td><td>1.000</td><td>779.55</td><td>1000997965</td></tr> // // <tr><td>B>3>?>3@C??</td><td>5048>B5;5D>=K</td><td>DECT:</td><td>1.000</td><td>779.55</td><td>-.tiSпїЅ</td></tr> // // <tr><td>B>3>?>3@C??</td><tdcolspan="2">5><0H=858>D8A=K5B5;5D>=K':</td><td>1.000</td><td>779.55</td><td></td></tr> // // <tr><td>B>3>?>3@C??</td><td>5"5;5D>=K</td><td></td><td>1.000</td><td>779.55</td><td></td></tr> // // <tr><td>8712581690427</td><td>SHA20/51</td><td>:>;>=:8<C;LB8<5489=K5H</td><td>1.000</td><td>414.21</td><td>1000979903</td></tr> // // <tr><td>B>3>?>3@C??</td><tdcolspan="2">5><?LNB5@=K5:>;>=:8:</td><td>1.000</td><td>414.21</td><td></td></tr> // // <tr><td>B>3>?>3@C??</td><tdcolspan="2">5><?LNB5@=K50:A5AAC0@K:</td><td>1.000</td><td>414.21</td><td></td></tr> // // <tr><td>B>3>?>3@C??</td><tdcolspan="2">55@A>=0;L=K5:><?LNB5@K:</td><td>1.000</td><td>414.21</td><td>;пїЅi%B</td></tr> // // <tr><td>B>3>?>3@C??</td><tdcolspan="2">5B45;15KB>20OB5:=8:080C48>-284:</td><td>120.000</td><td>354390.04</td><td></td></tr> // Вроде отфильтровалось, то что требовалось |
krutoy,
Спасибо! |
Часовой пояс GMT +3, время: 07:01. |