2013-08-05 1 views
0

문자열을 삽입하거나 단어를 삽입하려고합니다. $ string value = Null; PHP의 preg_replace를 사용합니다.
null 문자열과 일치하는 적절한 regexp를 찾을 수 없습니다.PHP preg_replace on null 문자열

내 코드는 다음과 같다 : 내가 필요한 이유

$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

문자열이 null이면 아무 것도 대체하지 않고 그냥 null인지 확인한 다음 원하는 값으로 설정하면 얻을 수 있습니까? – Cyclonecode

+0

NULL 문자 또는 잘못된 UTF-8 시퀀스를 제거 하시겠습니까? – mpyw

+0

항상 null이 아닙니다. {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" 

그들은 전혀 다른입니다.