2014-02-21 82 views
-2

我有一個字符串值爲'laptop,Bag'的變量,我希望它看起來像' "laptop","Bag" '"laptop","Bag"。我怎麼能做到這一點?有沒有任何PHP功能可以完成這項工作?請任何幫助。PHP函數,將'a,b'轉換爲'a','b''

+6

你甚至嘗試去做,它看起來非常直截了當! –

+0

是的,我已經嘗試過使用implode函數,但我無法使它工作 – Eli

+1

**告訴我們你已經嘗試**,然後我們可以幫助你解決你做錯了什麼。 –

回答

4

這會工作。首先,將字符串分解爲數組。然後用語音標記&加上開頭的&關閉語音標記結束。

$string = "laptop,bag"; 
$explode = explode(",", $string); 
$implode = '"'.implode('","', $explode).'"'; 

echo $implode; 

Output: 
"laptop","bag" 
1

我想你可以explode您的字符串數組和循環扔在創建新的字符串

function create_string($string) 
{ 
    $string_array = explode(",", $string); 
    $new_string = ''; 
    foreach($string_array as $str) 
    { 
     $new_string .= '"'.$str.'",'; 
    } 
    $new_string = substr($new_string,-1); 

    return $new_string; 
} 

現在,您只需將您的字符串函數

$string = 'laptop,Bag'; 
echo create_string($string); 
//output "laptop","Bag" 
+0

可以在這裏使用implode而不是foreach循環。 – swiss196

+1

正確,我的第一個想法是循環,implode會更快,雖然 – Fabio

4

這就是str_replace是用於:

$result = '"'.str_replace(',', '","', $str).'"'; 
+0

需要添加「在字符串的開始和結束。 – swiss196

+0

我同意這將是更簡單的創建字符串的方法。不需要爆炸或爆炸任何東西,也不需要創建其他功能。 – Joe

2

這會很容易做到。

$string = 'laptop,bag'; 
$items = explode(',', $string); 
$newString = '"'.implode('","', $items).'"'; 

應該將'laptop,bag'變成"laptop","bag"

結束語,在一個功能將是如此簡單:

function changeString($string) { 
    $items = explode(',', $string); 
    $newString = '"'.implode('","', $items).'"'; 
    return $newString; 
} 
+1

打敗你吧;)哈哈 – swiss196

+1

雅,完全一樣的東西哈哈!我雖然提供了我的功能! :) – Joe

+1

+1爲一個不錯的律'功能;) – swiss196

1

爲了您的具體的例子,該代碼會做的伎倆:

<?php 
$string = 'laptop,bag'; 
$new_string = ' "' . str_replace(',', '","', $string) . '" '; 
// $new_string: "laptop","bag" 
?> 

該代碼也將工作,如果你有該列表中的更多項目,只要它們用逗號分隔即可。

1

使用preg_replace()

$input_lines="laptop,bag"; 
echo preg_replace("/(\w+)/", '"$1"', $input_lines); 

輸出:

'"laptop","Bag"' 
相關問題