У меня есть большая строка, $string
, в которой я пытаюсь посмотреть, указано ли количество определенного элемента, «игра».Получите количество в числовой или письменной форме перед подстрокой в php
Например:
$string = "...asdasda fdf **4 games** asdasd sad ...";
ИЛИ
$string = "...asdasda fdf **nine games** asdasd sad ...";
//maximum is around 15 but till about 10 should be enough for now
ИЛИ
$string = "...asdasda fdf asdasd sad **a game** asda ...";
"игра" может появиться более чем один раз в $string
.
если «игра» всегда появляется в это форма единственного числа («игра», а не «игры»), то величина 1.
Количество связан ни с одной из «игры» вхождения "s должны быть такими же, как он будет говорить о том же количестве «игр», хотя он может не всегда упоминать количество, поэтому любое количество до «игр» должно давать правильную сумму.
Как мне лучше всего это делать в php. Любое pregmatch, или регулярное выражение поможет, как я понимаю, но не так хорошо с ним.
Я думаю, возможно, взяв слово раньше, а затем проверив его для числа, может работать с регулярным выражением с подстрокой str_pos
, а затем функцией?
Извините, вы можете немного сломать это для меня. От взгляда на это он находит слово перед игрой слов (с одним пробелом перед игрой слов). Это все, что он делает? Как это относится к количеству словесной игры, появляющейся в строке? Должен ли я затем создать функцию, которая принимает все экземпляры в отдельности, а затем, когда она найдет совпадение с количеством, отличным от «1» или «а», получит такое количество и сломается, иначе количество будет единицей? – Sortitout
@Sortitout Да, это то, что он делает. Вы можете легко записывать числа и вычислять их, но вам нужно преобразовать слова в числа с помощью функции. Вы можете найти такую функцию онлайн, если вы ее найдете в Google. –
Спасибо, это сработало. Хотя моя пользовательская функция для получения числового значения немного многословна: P – Sortitout