找到加号" +"字符串中包含+90 90+的字符

时间:2017-04-11 21:37:31

标签: php preg-replace preg-match

我尝试了很多preg_replace和preg_match代码,但我不能这样做。 我试着找到包含+ 18,18 +或(+18)的字符串 我无法解释,但你可以在看到我的代码时理解。

//inputs 
$product='example: 18 kg apple'; // my hope output: EVERYONE
$product='water pipe (18) meters'; // my hope output: EVERYONE
//outputs: OVER 18 

$product='product +18 dress';   // my hope output: OVER 18    
$product='product 18+ dress';   // my hope output: OVER 18
$product='product (+18) dress';     // my hope output: OVER 18
//outputs are already OVER 18 
//Because of contain 18 
//not +18 or 18+. it doesnt work truly


    preg_match('/\b(\w*18\w*)\b/', $product, $match);

        if( $match[1]=='+18' || $match[1]=='18+' ) { 

                echo "OVER 18<br>"; 
    }
       else{
               echo "EVERYONE<br>";

                }

2 个答案:

答案 0 :(得分:1)

使用此:(\+18|18\+) - 它会检查字符串中是否存在+1818+

这样的事情: preg_match('(\+18|18\+)', $product, $match);应该有用。

仅在此处测试https://regex101.com/(一个测试正则表达式的好地方

答案 1 :(得分:0)

在这个简单的例子中,我不会使用正则表达式。只需使用strpos也可以完成这项工作。

if (strpos($product, '18+') !== false || strpos($product, '+18') !== false) {
    // over 18
}