Как проверить, содержит ли фиксированная строка какой-либо дополнительный символ?

Эта проверка кода, если внутри строки присутствует "есть", при условии, что строка всегда начинается с "Я нашел", мне нужна функция, которая проверяет, содержит ли строка "Я нашел" плюс что-то еще. Пример: я нашел 500. где 500 может быть что угодно, и неизвестно.

 $a = 'I have found';
 if (strpos($a, 'have') !== false) {
 echo 'true';
 }

2 ответа

Решение

Если вы хотите узнать, что было найдено:

function get_found($str){
    if(strpos($str, "I have found")===false)
        return "nothing";
    $found = trim(substr($str, strlen("I have found")));
    if($found == "")
        return "nothing";
    return $found;
}

echo get_found("I have found a friend"); //outputs "a friend"
echo get_found("I have found"); //outputs "nothing"

Ты можешь использовать preg_match(), как в этом коде:

$a = 'I have found'; //fixed string
$str = 'I have found 500';
if (preg_match('/^'.$a.'(.+?)$/', $str, $m)){
 echo 'The string contains additional: '.$m[1];
}
else echo 'String fixed';
Другие вопросы по тегам