Javascript或PHP函数,用于在文本的开头和结尾添加内容

javascript or php function to add something to the beginning and end of text

本文关键字:开头 结尾 添加 文本 PHP 函数 用于 Javascript      更新时间:2023-09-26

我一直在寻找可以将<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>所以在我的网页上它出现在一个列表

这是一个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>';
?>

应该这样做(在javascript中)

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

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

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

您可以使用空格(分隔符)分隔字符串或用户输入

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',' '));