2013-11-14 60 views
2

我有两个字符串变量。 例如我如何检查一个字符串是否是另一个字符串的子字符串,其他字符是下划线+数字?

$title = 'string'; 
$title2 = 'string_01'; 

$title2可以是相同$title或者可以是$title.'_'.number

目前我做的:

$sametitle = strpos($title2, $title); 
if(!($sametitle === 0)) { 

如果$title != $title2我需要检查,如果$title$title2子串,如果$title是在$title2开始和$title2字符串的其余部分匹配下划线+数字,以便在这种情况下:

$title = 'st'; 

它不会进入if。

我想我可以用preg_match做到这一点,但我不太了解正则表达式,所以我不知道该怎么做。

预先感谢您! :)

回答

0

您可以使用此的preg_match:

preg_match('/^' . preg_quote($title, '/') . '(_\d+)?$/', $title2); 
1

你可以这样做:

if (preg_match('~\Q' . $title . '\E_[0-9]+~', $title2, $match)) { 
    print_r($match); 
} 

其中\Q.....\E允许内$title特殊字符。

相关问题