2014-11-25 111 views
0
$var1 = 'accommodation_rate_fri_to_sun_garden_view'; 
$var2 = 'Garden View'; 

if ( stripos($var1, $var2) !== false) { 
    echo 'found'; 
} 
else { 
    echo 'not found'; 
} 

//結果爲not found。有沒有其他函數用於空間匹配?在PHP中部分字符串匹配

+0

結果沒有找到,因爲園林景觀是不是在$ VAR1變量。我很確定沒有可以做這種事情的功能。如果在字符串中找到確切的文本,Strpos只會給你一個結果。 – Jordy 2014-11-25 11:47:43

+0

我明白,這就是爲什麼我需要部分匹配的想法。有什麼方法可以與字符串的第一個單詞進行比較嗎? – 3zzy 2014-11-25 11:49:22

+0

是的,你可以使用這樣的爆炸功能。 $ arr = explode('',$ var2); if(strpos($ var1,$ arr [0]){如果找到Garden,則返回true} – Jordy 2014-11-25 11:50:01

回答

1

試試這個 -

$var1 = 'accommodation_rate_fri_to_sun_garden_view'; 
$var2 = 'Garden View'; 
$var2 = str_replace(" ", "_", strtolower($var2)); 
if ( stripos($var1, $var2) !== false) { 
    echo 'found'; 
} 
else { 
    echo 'not found'; 
} 
1
<?php 

$haystack = 'accommodation_rate_fri_to_sun_garden_view'; 
$needle = 'Garden View'; 
$needles = explode(' ', $needle); 
$partial = false; 

foreach($needles as $needle) 
{ 
    if(stripos($haystack, $needle) !== false) 
    { 
     $partial = true; 
     break; 
    } 
} 

if($partial) 
{ 
    echo 'found'; 
} 
else 
{ 
    echo 'not found'; 
}