如何检查字符串php中是否重复了一个单词

时间:2015-06-23 20:52:41

标签: javascript php jquery html

我有一个包含多个字段的数据库。我在html表格中显示其中一个字段。我可以轻松地做到。但问题是我要显示的字段可能包含连续的重复单词。例如

  • 约翰;麦克风;约翰
  • 约翰
  • 麦克风;麦克风;麦克

现在我想要做的是我必须修剪重复的单词,即如果一个单词连续多次,那么它应该只显示一次。例如上面将是

  • 约翰;麦克
  • 约翰
  • 麦克

即我不想在html表格中显示记录时显示重复。我想让它变得动态,不仅仅是5到6个字。但即使有数千条记录,也要谴责重复。

将行的整个值视为字符串如何使用php删除它..

感谢您的支持..

5 个答案:

答案 0 :(得分:1)

app.get('/search', function(req, res) {
            var query = req.query
            //res.send(query['name']);
            Task.findOne({name: query['name']}, function(err, doc) {
                if(!err && doc) {
                    res.json(200, doc);
                } else if(err) {
                    res.json(500, { message: "Error loading task." + err});
                } else {
                    res.json(404, { message: "Task not found."});
                }
            });
            //res.end(JSON.stringify(query));
        });

答案 1 :(得分:0)

如果您将每行或每行视为一个句子,则可以在分隔符上拆分,即示例中的分号。因此,如果" UD; RUP; UD; UD"是一行你做的事情:

line = "UD;RUP;UD;UD";
lineArray = new Array();
lineArray=line.split(";");

然后,您要创建一个新数组,该数组将保存您从字符串中解析的唯一值:

newArray = new Array();

现在,您遍历第一个数组并查看是否已存储它。如果你没有,请通过推送到新阵列来存储它:

for(i=0;i<lineArray .length;i++)
{
    if((i==lineArray .indexOf(lineArray [i]))||(lineArray .indexOf(arr[i])==lineArray .lastIndexOf(arr[i])))
        newArray.push(lineArray [i]);   
}

最后加入newArray元素:

newArray.join(";");

答案 2 :(得分:0)

你可以试试这个

 <?php

  $consulta=Array('azul,azul,verde,amarillo','verde','azul,verde','azul');

  $arrall=Array();

  foreach ($consulta as $value) {

     $arrnew= explode(",", $value);
     if(count($arrnew!=0)){

        foreach ($arrnew as $value) {
            array_push($arrall, $value);
         }
      }

  }

  $result = array_unique($arrall); 

答案 3 :(得分:0)

我想说,关键是为每条记录创建一个唯一索引。

<?php
    $records = array(
        'john;mike;john',
        'john',
        'mike;sally;mike;mike'
    );

    foreach($records as $index => $record) {
        $records[$index] = implode(';',array_unique(explode(';',$record)));
    }
    print_r($records);
?>

这是用简单的JavaScript来显示概念

var records = [
    'john;mike;john',
    'john',
    'mike;sally;mike;mike'
]

var tuple;
for(var r in records) { 
    var tuple = records[r].split(';');
    var index = {};
    for(var t in tuple) {
        index[tuple[t]] = true;
    }
    records[r] = Object.keys(index).join(';');
}

console.log(records);

我希望这会有所帮助:)

答案 4 :(得分:0)

试试这个:

  /**
  * @param array|string $values
  * @param string $delimiter
  *
  * @return bool|string
  */
  function filterValues($values = array(), $delimiter = ';') {
        if(is_string($values) && $values) {
            $explodedValues = explode($delimiter, $values);

            return implode($delimiter, array_unique($explodedValues));
        } else if(is_array($values) && $values) {
            return implode($delimiter, array_unique($values));
        } else {
            return false;
        }
    }

    $string= 'mike;bike;mike';
    $array = array('mike', 'bike', 'mike');

    echo filterValues($string);

    echo filterValues($array);