如何将包含多个单词的字符串作为一个返回

时间:2014-04-04 10:17:46

标签: php mysql

在我的MySQL数据库中,我有这个包含多位艺术家的表格。它们被放置在名为formated_name的字段中,并返回strings,例如Lady Gaga,到目前为止一直很好。我想要实现的是它returns ladygaga所以我以后可以将它用于url。我的整个功能看起来像这样:

public function artistname_get($artist_id)  
{ 
    $this->load->database();

    $sql = "SELECT formated_name FROM artists WHERE artist_id = '".$artist_id."'";
    $query = $this->db->query($sql);
    $data = $query->result();

    if($data) {
        $this->response($data, 200);
    } else {
        $this->response(array('error' => 'Couldn\'t find any artist with that name!'), 404);
    }
}

那我怎么能实现这个目标呢?

9 个答案:

答案 0 :(得分:1)

尝试这种简单的方式。

删除字符串中的空格。

使用PHP

$string = 'Lady Ga ga';

$value=str_replace(' ','',$string);

echo strtolower($value);

使用 MySQL

$sql = "SELECT REPLACE( formated_name, " ", "" ) FROM artists WHERE artist_id = '".$artist_id."'";

答案 1 :(得分:0)

如果您不想使用php进行此操作,Mysql也会为此提供字符串函数。

ToLower功能:

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_lower

替换以替换空格:

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace

但是你还应该在php中使用url_encode和url_decode。否则你可能会遇到像“A& B”这样的艺术家的问题

答案 2 :(得分:0)

使用

str_replace() and `strtolower()`

删除空格并将字符串转换为小写。

答案 3 :(得分:0)

PHP版本:

$string = strtolower(str_replace(' ', '', $string));

答案 4 :(得分:0)

$artist_url = strtolower(str_replace(' ', '', $artist_formatted_name));

答案 5 :(得分:0)

$string = strtolower(str_replace(' ', '', $string));

答案 6 :(得分:0)

试试这个,

SELECT LOWER(REPLACE(formated_name, ' ', '')) AS formated_name

你要做的就是一起使用mysql函数 LOWER REPLACE 来摆脱空格和大写字母

答案 7 :(得分:0)

尝试这样的事情......

<?php 
$string = 'Lady Gaga';
$value=str_replace(' ','',$string);
echo strtolower($value);

?>

答案 8 :(得分:0)

如果你想把它放在URL中,你也应该从特殊字符等中清除它。

使用此函数将字符串转换为别名。

function toAlias ($string) {
    return strtolower (preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $string)));
}