Чтобы сделать его еще более строгое соответствие, что вы только хотите его, чтобы соответствовать строке, которая содержит ***
в конце строки, вы можете использовать регулярное выражение, так что,
if (preg_match('~[^*]\*{3}$~', $str)) {
print "Valid";
}
Это говорит о том, когда строка имеет 3 звезды в конце, и перед этими 3 звездами нет звездочек, тогда это будет правдой. Измените 3
на 2
или 1
или на любое количество звезд, которые вы хотите сопоставить.
[^*]
означает, что может быть персонаж, но это не может быть звезда, за которой следуют 3 звезды. \*{3}
означает, что он будет соответствовать 3 звездам. Обратная косая черта - чтобы избежать звездочки для соответствия шаблону, а 3 - количество звезд.
Это может быть функция, как это:
function starMatch($str, $count) {
return (bool)preg_match('~[^*]\*{'.$count.'}$~', $str);
}
И называется так:
starMatch($str, 1); // matches *
starMatch($str, 2); // matches **
starMatch($str, 3); // matches ***
если Запускается чем то, что будет у делать ?? Удалить?? или ничего? – devpro
strpos ($ variable, '***')! == false – Deep
devpro: это только фиктивный код, мой реальный код будет там просто захочет классифицировать текст с помощью звездочки, потому что strpos найдет, что есть совпадающий символ, не содержащий символ, это может сбить с толку. Глубокий: это может быть проблемой, если у меня есть много данных, содержащих * одиночные, ** двойные, *** тройные звезды, все данные будут сопоставлены, но я хотел, чтобы только указанная звезда была основана –