@ubunta2 отладку так и не освоил? Без неё нет смысла что-то изучать, так как не сможешь найти в чём ошибка отладка/debug http://phpfaq.ru/debug https://netbeans.org/kb/docs/php/debugging_ru.html https://php.ru/forum/threads/howto-...i-po-shagam-i-s-kartinkami.58974/#post-474550
PHP: <?php ## Пример второй. // Найти в тексте адрес E-mail. \S означает "не пробел", а [a-z0-9.]+ - // "любое число букв, цифр или точек". Модификатор 'i' после '/' // заставляет PHP не учитывать регистр букв при поиске совпадений. // Модификатор 's', стоящий рядом с 'i', говорит, что мы работаем // в "однострочном режиме" (см. ниже в этой главе). preg_match('/(\S+)@([a-z0-9.]+)/is', "Привет от somebody@mail.ru!", $m); // Имя хоста будет в $m[2], а имя ящика (до @) - в $m[1]. echo "В тексте найдено: ящик - $m[1], хост - $m[2]"; ?>
Найти в тексте адрес E-mail. \S означает "не пробел", а [a-z0-9.]+ - "любое число букв, цифр или точек". Модификатор 'i' после '/' заставляет PHP не учитывать регистр букв при поиске совпадений. Модификатор 's', стоящий рядом с 'i', говорит, что мы работаем в "однострочном режиме" (см. ниже в этой главе). Имя хоста будет в $m[2], а имя ящика (до @) - в $m[1].
@ubunta2, в комментарии же всё написано. Вот таки регулярные выражения, они вот так работают, потому что так должны работать. Полное описание в документации: https://secure.php.net/manual/ru/reference.pcre.pattern.syntax.php
PHP: <?php ## Игнорирование карманов. $str = "2015-12-15"; $re = '|^(?:\d{4})-(?:\d{2})-(\d{2})$|'; preg_match($re, $str, $matches) or die("Соответствие не найдено"); echo htmlspecialchars("День: ".$matches[1]); ?>
Ну естественно что ты не понял,потому что прежде чем пользоваться этими функциями,нужно почитать про Перл-совместимые регулярные выражения. https://secure.php.net/manual/ru/intro.pcre.php
а ты внимательно прочитал мануалы, на которые тебе сослались? 15 вывелось потому что регулярное выражение так написано что будет выводиться 15. Поменяй вводную строку - будет выводиться что-то другое, не 15. Поменяй регулярное выражение - будет выводиться что-то другое, не 15. А пока написано так как написано - будет выводиться 15. Мне кажется тебе уже пора выкинуть тот учебник по которому ты жопу рвёшь потому что знаний он тебе даёт примерно отрицательную бесконечность. За каждым чих-пыхом ты несешься на форум и не особо видно чтоб ты понимал что-то тебе сказанное на форуме. Да, конечно напрашивается мнение, что раз человек не понял книгу и не понял форум - то он аутист и даун, которому надо срочно бросить заниматься программированием, но сейчас налетят мои коллеги, пошлёпают меня по попке за то что я людей оскорбляю, поэтому я не буду оскорблять людей и создавать о себе негативное впечатление. А 15 выводится потому что так написано регулярное выражение. Предлагаю тебе для саморазвития таки для начала понять что именно написано в регулярном выражении которое так загадочно постоянно упорно выводит 15.