php в переменной оставить только цифры

Регулярные выражения для того, чтобы оставить в строке PHP только цифры

Дата публикации: 2017-03-23

php в переменной оставить только цифры. Смотреть фото php в переменной оставить только цифры. Смотреть картинку php в переменной оставить только цифры. Картинка про php в переменной оставить только цифры. Фото php в переменной оставить только цифры

От автора: моя племянница решила стать писателем-фантастом. Это девятилетнее дарование несколько дней пыталась придумать сюжет будущего шедевра, не забывая попутно «пытать» и своих родственников. В результате она нафантазировала мир, в котором вместо букв используются цифры. Тогда в этой мире будут в PHP только цифры?

Наша реальность

Но вернемся в нашу реальность, где цифры – это цифры, а буквами пишут слова. И опять сегодня речь пойдет о регулярных выражениях. Только с их помощью можно правильно просеять содержимое и получить искомую строчку, сочетание символов или просто цифры. Поиском последних и займемся. Но сначала определимся, что мы хотим сделать с найденными цифрами.

С помощью PHP оставляем только цифры:

php в переменной оставить только цифры. Смотреть фото php в переменной оставить только цифры. Смотреть картинку php в переменной оставить только цифры. Картинка про php в переменной оставить только цифры. Фото php в переменной оставить только цифры

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

php в переменной оставить только цифры. Смотреть фото php в переменной оставить только цифры. Смотреть картинку php в переменной оставить только цифры. Картинка про php в переменной оставить только цифры. Фото php в переменной оставить только цифры

Рассмотрим поближе регулярку: /[^0-9]/

В шаблоне указано, что нужно находить все символы, кроме цифр. В свою очередь preg_replace() нашла значения, соответствующие регулярному выражению и заменила на пробел. Таким образом мы реализовали ввод только цифр с помощью PHP.

Другие примеры

«Окунемся» глубже и модифицируем шаблон. Для этого используем в синтаксисе регулярных выражений метасимволы: \d – означает любую цифру, \D – обозначает любой символ, не являющийся цифрой.

Применим эти метасимволы в следующих примерах. В первом из них мы задействуем еще одну функцию PHP, которая предназначена для работы с регулярками.

Источник

Оставить в строке только числа

Помощь в написании контрольных, курсовых и дипломных работ здесь.

php в переменной оставить только цифры. Смотреть фото php в переменной оставить только цифры. Смотреть картинку php в переменной оставить только цифры. Картинка про php в переменной оставить только цифры. Фото php в переменной оставить только цифрыЕсли ее длина больше 10, то оставить в строке только первые 6 символов, иначе дополнить строку символами ‘o’ до длины
Дана строка. Если ее длина больше 10, то оставить в строке только первые 6 символов, иначе.

Оставить в строке только 3-ье число
Всем привет, столкнулся с проблемой, при написании скрипта проверки пинга до клиента. Есть код.

php в переменной оставить только цифры. Смотреть фото php в переменной оставить только цифры. Смотреть картинку php в переменной оставить только цифры. Картинка про php в переменной оставить только цифры. Фото php в переменной оставить только цифрыВ символьной строке оставить только те слова, которые состоят только из разных букв
Мне дали такое задание В символьной строке оставить только те слова, которые состоят только из.

php в переменной оставить только цифры. Смотреть фото php в переменной оставить только цифры. Смотреть картинку php в переменной оставить только цифры. Картинка про php в переменной оставить только цифры. Фото php в переменной оставить только цифрыВ каждой строке для всех слов, которые встречаются в строке больше одного раза, оставить только первое вхождение
Народ, помогите Нужно в каждой строке для всех слов, которые встречаются в строке больше одного.

Решение

Добавлено через 7 минут
Fedor Vlasenko, У вас все цифры выводит

php в переменной оставить только цифры. Смотреть фото php в переменной оставить только цифры. Смотреть картинку php в переменной оставить только цифры. Картинка про php в переменной оставить только цифры. Фото php в переменной оставить только цифрыОставить в строке только цифры
Как перевести строку вида «+7 (777) 872-72-14» в «+77778727214» с помощью регулярных выражений

Оставить в строке только буквы
Всем привет=) Прошу помочь разобраться с такой проблемой мне нужно в строке оставить только буквы.

Оставить только определённые символы в строке
Был как-то у меня код как оставить в строке только те символы, которые мне нужны. Это делалось.

php в переменной оставить только цифры. Смотреть фото php в переменной оставить только цифры. Смотреть картинку php в переменной оставить только цифры. Картинка про php в переменной оставить только цифры. Фото php в переменной оставить только цифрыОставить в строке только символы-цифры
помогите найти ошибку в коде! моя вторая лаба, раньше никогда не работала в васике, препод.

php в переменной оставить только цифры. Смотреть фото php в переменной оставить только цифры. Смотреть картинку php в переменной оставить только цифры. Картинка про php в переменной оставить только цифры. Фото php в переменной оставить только цифрыОставить в строке только гласные буквы
Заданы М строк символов, которые вводятся с клавиатуры. Каждая заданная строка представляет собой.

Оставить в строке только слова, начинающиеся на буквы «A», «D», «K», «P».
Дана строка символов до точки. Оставить в ней только слова, начинающиеся на буквы «A», «D», «K».

Источник

ctype_digit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_digit — Проверяет наличие цифровых символов в строке

Описание

Проверяет, являются ли все символы в строке text цифровыми.

Список параметров

Возвращаемые значения

Примеры

Пример #1 Пример использования ctype_digit()

Результат выполнения данного примера:

Пример #2 Пример использования ctype_digit() со сравнением строк и целых чисел

Смотрите также

User Contributed Notes 14 notes

All basic PHP functions which i tried returned unexpected results. I would just like to check whether some variable only contains numbers. For example: when i spread my script to the public i cannot require users to only use numbers as string or as integer. For those situation i wrote my own function which handles all inconveniences of other functions and which is not depending on regular expressions. Some people strongly believe that regular functions slow down your script.

The reason to write this function:
1. is_numeric() accepts values like: +0123.45e6 (but you would expect it would not)
2. is_int() does not accept HTML form fields (like: 123) because they are treated as strings (like: «123»).
3. ctype_digit() excepts all numbers to be strings (like: «123») and does not validate real integers (like: 123).
4. Probably some functions would parse a boolean (like: true or false) as 0 or 1 and validate it in that manner.

ctype_digit() will treat all passed integers below 256 as character-codes. It returns true for 48 through 57 (ASCII ‘0’-‘9’) and false for the rest.

(Note: the PHP type must be an int; if you pass strings it works as expected)

Источник

Популярные примеры работы регулярных выражений в PHP

Вопросов по данной теме уйма. И я решил создать свою подборку регулярных выражений. Думаю многим поможет!

Примеры preg_replace PHP

1. Удаляем определённую ссылку в переменной text

2. Удаляем комментарии в переменной text

3. Удаляем спецсимволы

4. Удаляем всё, что между

5. Удаляем всё, что между

6. Удаляем конкретные символы из строки

7. Удаляем пробелы по бокам строки и обычные пробелы

8. Удаляем лишние переводы строк и переносы

9. Удаляем расширения в названиях файлов

10. Создаём функцию обработки текста

11. Найти содержимое определённого тега и вставить его в другие теги

13. Добавить или убрать текст в начале или конце переменной с текстом

14. Находим все http:// и заменяем на ссылки

15. Удаление GET-параметров из URL

16. Добавить тег br в начало или конец строк

17. Как конвертировать html в текст

18. Как разобрать email и сделать ссылку

Примеры preg_match PHP

1. проверка mail адреса на корректность

2. Найти mail адреса в тексте

3. Является ли переменная числом, длиной от 13 до 16 символов (проверка кредитной карты)

4. Проверка имени файла

5. Ищем в тексте мобильные телефоны РФ

6. Состоит ли строка только из букв, цифр и _, длиной от 8 до 20 символов:

7. Есть ли в строке идущие подряд символы, не менее 3-х символов подряд (типа абвгДДДеё, но не ааббаабб):

8. Поиск в разных частях строки конструкции:

9. Проверки на тип браузера. Возвращает true если browser = Netscape 2, 3 or MSIE 3.

Примеры ereg PHP

1. Проверка mail адреса в тексте

Источник

PHP и регулярные выражения: азы для новичков

В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор.

Внимание! данная статья не имеет отношения к программе курса и будет полезна только для новичков. Для получения более углубленных знаний приглашаем вас посетить бесплатный двухдневный онлайн интенсив по теме: «Создание Telegram-бота для заказа кофе в заведении и оплаты онлайн». Второй день интенсива будет проходить тут.

php в переменной оставить только цифры. Смотреть фото php в переменной оставить только цифры. Смотреть картинку php в переменной оставить только цифры. Картинка про php в переменной оставить только цифры. Фото php в переменной оставить только цифры

Всем привет! Всех с наступившим [20]<2,>0 годом. Сегодня я хочу затронуть тему, которая иногда является темой для шуток от «Да зачем тебе все это учить, если есть уже есть готовые решения» до «может тебе еще и весь Perl выучить?». Однако время идет, множество программистов начинают осваивать регулярные выражения, а на Хабре нет ни одной свежей (хоть регулярные выражения не слишком изменились за последнее время) статьи на этой тематику. Пришло время написать ещё одну!

Регулярные выражения в отрыве от их конкретной реализации

Регулярные выражения (обозначаемые в английском как RegEx или как regex) являются инструментальным средством, которое применяется для различных вариантов изучения и обработки текста: поиска, проверки, поиска и замены того или иного элемента, состоящего из букв или цифр (или любых других символов, в том числе специальных символов и символов пунктуации). Изначально регулярные выражения пришли в мир программирования из среды научных исследований, которые проводились в 50-е годы в области математики.

Спустя десятилетия принципы и идеи были перенесены в среду операционной системы UNIX (в частности вошли в утилиту grep ) и были реализованы в языке программирования Perl, который на заре интернета широко использовался на бэкенде (и по сей день используется, но уже меньше) для такой задачи, как, например, валидация форм.

php в переменной оставить только цифры. Смотреть фото php в переменной оставить только цифры. Смотреть картинку php в переменной оставить только цифры. Картинка про php в переменной оставить только цифры. Фото php в переменной оставить только цифры

Если они вроде простые, тогда почему такие страшные на первый взгляд?

На самом деле любое выражение может быть «регулярным» и применяться для проверки или поиска каких-либо символов. Например, слова Pavel или example@mail.ru тоже могут использоваться как регулярки, только, понятное дело, в довольно узком ключе. Для проверки работы регулярных выражений в среде PHP без запуска своего сервера или хостинга вы можете воспользоваться следующим онлайн сервисом (вот только на нем у меня не работала обработка русских символов). Для начала в качестве регулярного выражения мы используем просто Pavel.

Положим у нас есть следующий текст:

Pavel knows too much. Pavel using nginx and he’s not rambler.

Сейчас регулярные выражения нашли оба вхождения слова Pavel. Здорово, но звучит не очень полезно (разве что только вы зачем-то пытаетесь проанализировать что-то вроде количества упоминания слова сударь в Войне и Мире через Vim и Python, но тогда у меня к вам вопросов нет).

Вариативность выражения

Если ваше регулярное выражение вариативно (например, вам известна только некоторая его часть и нужно найти количество вхождений годов, начиная от 2000 и заканчивая 2099), то мы можем использовать следующее регулярное выражение: 20..

Текст: Молодые писатели пишут много чего. Например писатель 2002 года рождения очень отличается от 2008 и 2012

Здесь у нас с помощью регулярного выражения найдутся все годы, но пока в этом нет никакого смысла. Скорее всего нам не нужны годы дальше 2012 (хотя молодые писатели младше 8 лет могут обидеться, но не об этом сейчас). Стоит изучить наборы символов, но об этом попозже, потому как сейчас поговорим про другую важную часть регулярных выражений: экранирование метасимволов.

Регулярное выражение: \.doc

Совпадение с целым набором символов

Регулярное выражение: 8\.jpg

Текст: 1.jpg, 2.jpg, 3.jpg, photo.jpg, anime.jpg, 8.jpg, jkl.jpg

Стоит отметить, что имя файлов из более 1 цифры наше регулярное выражение не охватит. Про множественный выбор будет чуть ниже, а пока представим, что нам вдруг понадобилось добиться обратного результата. Добавим метасимвол ^ (у которого, самое противное, в регулярных выражениях есть аж две функции). Чтобы воспользоваться им как исключением, нужно добавить его именно внутрь нашего набора:

Регулярное выражение: [^0-9]\.jpg

Но без множественного выбора это конечно неполноценные выражения.

Полезные таблицы

Приведем таблицу метасимволов:

\экранировать метасимвол как обычный символ
^искать определенный символ именно в начале строки (но только если исключить его из набора [])
$конец строки
|альтернатива
()группировка
\wвсе буквенно и цифровые символы (многие руководства почему-то не договаривают про цифровые символы)
\Wтоже самое, только наоборот
\sлюбой пробельный символ
\Sлюбой НЕ пробельный символ

Таблица пробельных метасимволов

[\b]возврат на один символ
\fперевод страницы
\nперевод строки
\rвозрат каретки
\tтабуляция
\vвертикальная табуляция

Множественный выбор: делаем простую валидацию

Регулярное выражение: \b\w<1,3>\b:

Неплохо! Теперь слова короче трех букв не смогут попадать в нашу базу данных. Посмотрим на валидацию почтового адреса:

Регулярное выражение: \w+@\w+\.\w+

Подробнее рассмотрим повторение символов

Теперь давайте поподробнее разберем, как можно в регулярных выражениях задать повторение символов. К примеру вы хотите найти любые комбинации цифр от 2-6 в тексте:

Регулярное выражение: 2+

Давайте я приведу таблицу всех квантификаторов метасимволов:

*символы повторяются 0 и до бесконечности
+повторяются от 1 и до бесконечности
повторяются точно n раз
от n и до бесконечности
от n1 и до n2 раз точно
?0 или 1 символ, не больше

В применении квантификаторов нет ничего сложного. Кроме одного нюанса: жадные и ленивые квантификаторы. Приведем таблицу:

Ленивые квантификаторы отличаются от жадных тем, что они выхватывают минимальное, а не максимальное количество символов. Представим, что есть у нас задача найти все теги заголовков h1-h6 и их контент, а весь остальной текст не должен быть затронут (я умышленно ввел несуществующий тэг h7, чтобы не мучаться с экранированием хабровских тэгов):

Текст: h7 > hello h7 > lorem ipsum avada kedavra h7 > buy /h7 >

Все сработало успешно, однако только благодаря ленивому квантификатору. В случае применения жадного квантификатора у нас выделился бы весь текст между тегами (полагаю, в иллюстрации это не нуждается).

Границы символьных строк

Границы символьных строк мы уже использовали выше. Приведем здесь более подробную таблицу:

\bграница слова
\Bне граница слова
\Aначало строки
\Zконец строки
\Gконец действия
Работа с подвыражениями

Текст: 255.255.255.255 просто адрес
191.198.174.192 wikipedia
87.240.190.67 vk
31.13.72.36 facebook

Здесь используется логический оператор | (или), который позволяет нам составить регулярное выражение, которое соответствует правилу, по которому составляются IP- адреса. В IP адресе должно быть от 1 и до 3 цифр, в котором число из трех чисел может начинаться с 1, с 2 (или тогда вторая цифра должна быть в пределах от 0 и до 4), или начинаться с 25, и тогда 3 цифра оказывается в пределах от 0 и до 5. Также между каждой комбинацией цифр должна стоять точка. Используя приведенные выше таблицы, постарайтесь сами расшифровать регулярное выражение сверху. Регулярные выражения в начале пугают своей длинной, но длинные не значит сложные.

Просмотр вперед

Приведем конкретную задачу: есть пароль, который должен состоят не менее чем из 7 символов и должен обязательно включать как минимум одну заглавную букву и цифру. Здесь все будет несколько сложнее, потому как пользователь должен иметь возможность поставить заглавную букву как в начале, так и в середине предложения (и тоже самое должно повторяться с буквой).

Следовательно, нам потребуется просмотр выражения вперед. Кроме того, нам нужно разбить на группы знаки. И я хочу ограничить его размеры от 8 и до 22 знаков:

Текст: Qwerty123
Im789098
weakpassword

Особенности работы регулярных выражений именно в PHP

Для изучения работы регулярных выражений в PHP, изучите функции в официальной документации PCRE (Perl Compatible Regular Expressions) которая доступна на официальном сайте. Выражение должно быть заключено в разделители, например, в прямые слеши.

Разделителем могут выступать произвольные символы, кроме буквенно-цифровых, обратного слеша ‘\’ и нулевого байта. Если символ разделителя встречается в шаблоне, его необходимо экранировать \. В качестве разделителей доступны комбинации, пришедшие из Perl: (), <>, [].

Какие функции используются в php? В пакете PCRE предоставляются следующие функции для поддержки регулярных выражений:

Замещающие строки допускается вычислять в виде кода PHP. Для активизации данного режима служит модификатор e.

Наша статья была бы неполной без классов символов POSIX, которые также работают в PHP (и в общем вполне могут повысить читабельность ваших регулярок, но не все их спешат учить, потому как часто ломают логику выражения).

[[:alnum:]]Любая буква английского алфавита или цифра
[[:alpha:]]Любая буква ([a-zA-Z])
[[:blank:]]Пробельный символ или символ с кодом 0 и 255
[[:digit:]]Любая цифра (7)
[[:lower:]]Любая строчная буква английского алфавита ([a-z])
[[:upper:]]Любая заглавная буква английского алфавита ([A-Z])
[[:punct:]]Любой знак пунктуации
[[:space:]]Любой пробельный символ
[[:xdigit:]]Любая шестнадцатеричная цифра ([0-9a-fA-F])

Под конец приведу пример конкретной реализации регулярных выражений в PHP, используя упомянутые выше реализации. Также я добавил валидацию имени пользователя, чтобы он не смог вводить слишком короткие сочетания букв (ну, положим, это никнеймы, а не имена, имена бывают короче двух букв):

Всем спасибо за внимание! Конечно, сегодня мы затронули только часть регулярных выражений и о них можно написать ещё несколько статей. К примеру, мы не поговорили о реализации поиска повторений одинаковых слов в тексте. Но я надеюсь, что полученных знаний хватит, чтобы осмысленно написать свою первую валидацию формы и уже потом перейти к более зубодробительным вещам.

По традиции, несколько полезных ссылок:

Шпаргалка от MIT по регулярным выражениям
Официальная часть документации php по регулярным выражениям.

На этом все. До встречи на интенсиве!
Второй день интенсива пройдет тут

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *