2010-03-10 48 views
0

我將一組字符串插入到我的表中。這是一個樣本,PHP搜索並插入特殊字符串

| = | 4 | = | 3 | = | 5 | = | 3 | = |是| = |沒有評論。

有時我的字符串可能會像

| = | 4 | = | 3 | = | 5 | = | 3 | = |是| = |

對於這種情況,我想追加一個字符串(對不起,沒有數據)到| = |的末尾。

而且我的字符串可能會像

 |=|4|=|3|=|5|=|3|=|Yes|=|

末那個符號是空的空間。在這種情況下,我也想在| = |結尾附加這個字符串(對不起,沒有數據)。

你能告訴我如何做到這一點?

+0

你是什麼意思?數據庫表? – 2010-03-10 12:17:33

+0

真的很難得到你所說的。也許你應該嘗試更具描述性。 – Gumbo 2010-03-10 13:16:25

回答

2

使用susbstr提取字符串的結尾

if (substr($string, -3) == '|=|') 
    $string .= '(Sorry no data)'; 

或用一個空格字符

if (substr($string, -1) == ' ') 
     $string .= '(Sorry no data)'; 

你也可以實現同樣的事情用正則表達式

1

問題是,爲什麼你需要這樣做?對我來說,這聽起來像你的數據庫的結構是錯誤的,你試圖將ñ變量保存到1個字段(如果我是對的,看看Database normalization,如果我錯了我誤解了你的題...)。

1

試試這個:

$splitted = explode("|=|", $your_string); 
if (count($splitted) < 6) 
{ 
    $your_string .= "Sorry no data"; 
} 

如果你想添加「對不起無數據」另外,如果最後一節是「沒有評論」,改變好像在:

if (count($splitted) < 6) || $splitted[5] == "No comments") 
0
$string = "|=|4|=|3|=|5|=|3|=|Yes|=|"; 
$var = explode("|=|",$string); 
$pick_last_array = count($var); 
$pick_last_array = $pick_last_array-1; 
if(trim($var[$pick_last_array])==""){ 
    $my_last_val = "Am coming"; 
}else{ 
    $my_last_val = $var[$pick_last_array]; 
} 

echo $my_last_val; 

這個片段固定我的問題。