2013-08-05 92 views
0

我想插入一個字符的字符串或插入一個單詞,其中$ string value = Null;使用PHP的preg_replace。
我找不到合適的正則表達式匹配空字符串。PHP preg_replace空字符串

我的代碼是這樣的:

$string ={member_repeat_designation___designation}; 
$pattern ='//' ; 
$replacement = 'Member'; 
return preg_replace($pattern, $replacement, $string); 

好吧我在這裏提交的全部代碼,爲什麼我需要它。

$string1= "Ln. {member___first_name} {member___last_name<br> 
{member_repeat_designation___designation}"; 
$string2="{member_repeat_designation___designation}"; 

$patterns=array(); 
$patterns[0]= '/President/'; 
$patterns[1]= '/Team Leader/'; 

$replacements=array(); 
$replacements[0]= '{member_repeat_designation___designation} {member___club_name}'; 
$replacements[1]= 'TL'; 

$patt=0; 
$rep='Member'; 

$a=preg_replace($patterns, $replacements, $string1); 
$b=preg_replace($patt, $rep, $string2); 
return $a <br> $b; 
+1

我不明白,如果字符串爲空,那麼你不需要替換任何東西,只是檢查它是否爲空,如果它然後將其設置爲你喜歡的任何值? – Cyclonecode

+0

你想消除NULL char或無效的UTF-8序列嗎? – mpyw

+0

它並不總是空的。 {member_repeat_designation__designation}可以派生包含null的值。我想用單詞「Member」替換空值 – Joshi

回答

2

爲什麼你需要這個正則表達式? PHP爲此具有一個內置功能:

$string = '{member_repeat_designation___designation}'; 
if(is_null($string)) { 

//string is null, do whatever 

} 
if(trim($string) == '' ) { 

//string is empty 

} 

文檔:is_null()

+0

或者使用'$ string === NULL' – mpyw

1

如果您需要匹配NULL字符,

return preg_replace('/\\0/', $replacement, $string); 

但是......

Empty value : "" 
Null char : "\0" 

他們是完全不同