所以,我得到了一些我需要提取值的html表,做了一个正则表达式来获取我想要的值。
html表可以采用以下两种格式:
<td height="20" style="width:59px;height:20px;">1</td>
<td style="width:212px;">Mendes, Paulo [AA]</td>
<td style="width:99px;">39</td>
<td>8</td>
<td style="width:85px;">$10,000</td>
</tr><tr height="20"><td height="20" style="width:59px;height:20px;">2</td>
<td style="width:212px;">Campos, Miguel [AC]</td>
<td style="width:99px;">37</td>
<td>6</td>
<td style="width:85px;">$5,000</td>
另一个
<td>1</td>
<td>Mendes, Paulo [AA]</td>
<td>39</td>
<td>8</td>
<td>$10,000</td>
</tr><tr height="20"><td>2</td>
<td>Campos, Miguel [AC]</td>
<td>37</td>
<td>6</td>
<td>$5,000</td>
对于没有样式的示例,我可以使用此正则表达式获取我想要的值:
<td>(\d+)<\/td>\n+\t*<td>([\w+, ]+) \[(\w{2})\]<\/td>
它将在php中使用,我一直在使用https://regex101.com/来测试正则表达式。
现在要获取具有样式的表的值,我没有运气。
尝试了#34;完美匹配&#34;用:
<td height\=\"20\" style\=\"width\:59px\;height\:20px\;\">(\d+)<\/td>\n+\t*<td style\=\"width\:212px\;\">([\w+, ]+) \[(\w{2})\]<\/td>
但它并没有抓住我想要的东西。甚至试图做一个否定搜索,但它仍然没有工作。我做错了什么?
答案 0 :(得分:0)
为什么不使用QuerySelectorAll(&#39;&#39;);它更容易。您可以使用它来检索td元素的内部文本,并使用循环将它们存储在数组中。一旦你有了td,就可以使用jQuery Ajax将它发送到.php文件来处理你想要的。
例如:
var tdArr = [];
var tdContent = document.querySelectorAll('table tr td');
for ( let i = 0; i < tdContent.length; i++){
tdArr.push(tdContent[i].textContent);
}