如何更新/删除文本行中的单个单词

时间:2012-06-18 08:04:17

标签: php mysql str-replace explode

我需要你的帮助,我有一个小问题。如何更新用逗号分隔的文本组的一部分。当文本输入到数据库中时,它是单行文本,每个单词之间都有逗号,但是当我想要回显它时,我使用explode函数将它们分成单个单词而不是像我一样的单行文本它在数据库中。

所以现在我的问题是,如何对数据库中的单个单词进行更新/删除。记住,我把它作为数据库中的单行文本,我对更新整行文本不感兴趣...只是文本中的一个单词..

感谢。

$text = "name,fname,lname,class,age" ;    
$newtext = explode(",", $text) ;

2 个答案:

答案 0 :(得分:0)

可以在sql update query中使用replace()函数。

Update table SET text=REPLACE(text,'age','newstring')

答案 1 :(得分:0)

更新或删除数组中的单词,然后内爆数组并将新值保存到数据库字段。

//Remove all instances of $value from $array
function array_remove($array, $value) {
  return array_filter($array, function ($e) use ($value) {
      return $e != $value;
    });
}

// Add only unique values
function array_add($array, $value) {
  if (!in_array($value, $array))
    $array[] = $value;
  return $array;
}

$text = "name,fname,lname,class,age" ;
$newtext = explode(",", $text) ;
$newtext = array_remove($newtext, 'lname'); // Remove lname
$newtext = array_add($newtext, 'mail');     // Add mail
$newtext = array_add($newtext, 'class');    // Won't add it again
$newtext = implode(',', $newtext);          // name,fname,class,age,mail