2014-11-25 107 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'; 
}