2015-07-19 71 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',' ')); 
相關問題