#php #preg-replace
#php #preg-заменить
Вопрос:
У меня есть строка, которая возвращает различные данные, такие как числа, пробелы и т.д. Все, что я хочу от него, это просто «Post» или «Posts». Может кто-нибудь привести мне пример того, как это сделать на PHP?
Комментарии:
1. Это может быть проще выполнить, если вы просто выполните поиск наличия «Post» или «Posts», используя
stripos
вместоpreg_replace
.
Ответ №1:
Да, используйте preg_match
вот так:
$myData = "There are 15 posts in this forum.";
preg_match("/Posts?/", $myData, $results);
if($results[0][0] === "Posts") {
// It was "posts"
} else {
// Assume it was "post"
}
Ответ №2:
$post = preg_replace('/.*(Posts?).*/', '$1', $string);
Если вы просто хотите определить, есть ли слово Post
в строке, то использование strpos()
было бы намного эффективнее.
if (strpos($string, 'Post') !== FALSE) {
... Post is present ...
}
Ответ №3:
если вы проверяете, содержит ли строка слово «Posts», то вы могли бы использовать что-то вроде этого:
if (preg_match("/Posts/i", $theString)) {
// do something
}
Ответ №4:
Если я правильно это читаю, кажется, что вам не нужна строка Post / Сообщения, только если они существуют. В этом случае самым быстрым способом было бы использовать strpos
функцию. Вы могли бы использовать это следующим образом:
if( strpos($haystack,"Post") !== false ) {
//You get here if Post or Posts was found.
}