2015-07-19 65 views
0

我一直在寻找的东西最终会在文本的末尾添加<td>到文本的开头,然后</td>JavaScript或PHP函数中添加一些东西到开始和文本

任何人可以用这种或帮助点我一些,我可以找出如何做到这一点

例如,如果用户将文本这样

item 2,119 1,403 233.090 1,741,670 110 821 

我需要的页面,自动将<td>添加到开始和日结束e文这样

<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>所以我的网页上它的出现列表

回答

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>'; 
?> 
+0

谢谢:)正是我需要的 – James99g

+0

没问题,欢呼! – Rasclatt

+0

该解决方案如何处理多个空间和前/后空格? –

1

这应该这样做(在JavaScript)

output = '<td>' + input.trim().replace(/\s+/g, '</td><td>') + '</td>'; 

的T rim()用于删除输入中的前导/尾随空格,只是为了确保

+0

谢谢,但我会用PHP解决方案可以去当我在测试它是从删除代码 – James99g

+0

这很酷,同样的答案停止用户的最佳方式,不同的语言 –

0
var result=$("<td></td>"); 
result.html(inputString.split(" ").join("</td><td>")); 
0

您可以分割的空间,你的字符串或用户输入(分隔符)

PHP功能拍摄你的字符串和分隔符charcter like space''

<?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',' ')); 
相关问题