我一直在寻找能够将<td>
添加到文本开头,然后在文本末尾添加</td>
的内容
任何人都可以帮忙解决这个问题,或者指出一些我可以找到解决方法的地方
例如,如果用户放置这样的文本
item 2,119 1,403 233.090 1,741,670 110 821
我需要页面自动将<td>
添加到文本的开头和结尾
<td>item</td><td>2,119</td><td>1,403</td><td>233.090</td><td>1,741,670</td><td>110</td><td>821</td>
编辑: -
现在我还有另外一个问题,如果用户放置了多行文本并希望它出现在列表中,我就会忘记。
Names 1 2 3 4 5
ItemA 2,119 1,403 233.090 1,741,670 110 821
ItemB 957 370 250,734 757,278 262 791
itemC 16 13 0 18,811 0 1,175
ItemD 630 281 347,956 1,260,205 552 2,000
所以我需要它来做这个
<tr><td>ItemA</td> <td>2,119</td> <td>1,403</td> <td>233.090</td> <td>1,741,670</td> <td>110 821</td></tr>
<tr><td>ItemB</td> <td>957 <td>370 <td>250,734 <td>757,278</td> <td>262 <td>791</td></tr>
<tr><td>itemC</td> <td>16</td> <td>13</td> <td>0</td> <td>18,811</td> <td>0 <td>1,175</td></tr>
<tr><td>ItemD</td> <td>630</td> <td>281</td> <td>347,956</td> <td>1,260,205</td> <td>552 2,000</td></tr>
因此,在每一行的开头和每一行的结尾处,我需要一个<tr>
和</tr>
,因此在我的网页上会出现在列表中
答案 0 :(得分:1)
这应该(在javascript中)
output = '<td>' + input.trim().replace(/\s+/g, '</td><td>') + '</td>';
trim()用于删除输入中的前导/尾随空格,只是为了确保
答案 1 :(得分:1)
这是一个PHP解决方案。在空格上使用explode()
,array_filter()
会从数组中删除空值,然后再次implode()
:
<?php
$vals = "item 2,119 1,403 233.090 1,741,670 110 821";
echo '<td>'.implode("</td><td>",array_filter(explode(" ",$vals))).'</td>';
?>
答案 2 :(得分:0)
var result=$("<td></td>");
result.html( inputString.split(" ").join("</td><td>"));
答案 3 :(得分:0)
您可以按空格分隔字符串或用户输入(分隔符)
PHP 函数将字符串和分隔符字符称为空格''
<?php
function splitStr($str, $seperator) {
$ret = "";
$strArr = explode($seperator, $str);
for($i=0; $i<count($strArr); ++$i) {
$ret .= '<td>' . $strArr[$i] . '</td>';
}
return $ret;
}
// invoke splitStr
echo splitStr('item 2,119 1,403 233.090 1,741,670 110 821',' ');
?>
JavaScript 功能相同的php功能
function splitStr(str, seperator) {
var ret = '';
var strArr = str.split(seperator);
for(var i=0; i<strArr.length; ++i) {
ret += '<td>' + strArr[i] +. '</td>';
}
return ret;
}
alert(splitStr('item 2,119 1,403 233.090 1,741,670 110 821',' '));