socket_getsockname(PHP 4 >= 4.1.0) socket_getsockname - запрашивает локальную сторону данного сокета, что может дать либо пару host/port, либо путь файловой системы UNIX, в зависимости от типа. Описаниеbool socket_getsockname (resource socket, string &addr [, int &port])
Если это сокет типа AF_INET, socket_getpeername() возвратит peer (удалённый) IP-адрес в нотации dotted-quad (например, 127.0.0.1) в параметре address и, если имеется необязательный параметр port, также ассоциированный порт. Если это сокет типа AF_UNIX, socket_getpeername() возвратит путь файловой системы UNIX (например, /var/run/daemon.sock) в параметре address. Возвращает TRUE при успехе, FALSE при неудаче. socket_getpeername() может также возвратить FALSE, если сокет имеет тип не AF_INET и не AF_UNIX; тогда последний код ошибки сокета не обновляется. См. также socket_getpeername(), socket_last_error() и socket_strerror(). |
||||||||||
|
||||||||||
Утверждение назад начинается с (?<= для положительного и с (?<! - для
отрицательного утверждения. Например,
(?<!foo)bar
не найдёт вхождения "bar", перед которым нет "foo". Содержимое утверждения назад
ограничено так, что все строки, с которыми оно совпадает обязаны иметь фиксированные
размеры. Однако, если есть несколько альтернатив, они не все должны иметь один
и тот же фиксированный размер. Таким образом,
(?<=bullock|donkey)
допустимо, а
(?<!dogs?|cats?)
вызовет ошибку времени компиляции. Ответвления, которые совпадают со строками
разной длины, допускаются только на верхнем уровне lookbehind-утверждения. Это
расширение относительно 5.005, который требует, чтобы все ответвления совпадали
с одной длиной строки. Такое утверждение как
(?<=ab(c|de))
недопустимо, поскольку имеет единственное ответвление верхнего уровня, которое
может совпадать с двумя различными размерами, но это допускается, если переписать
его с двумя ответвлениями верхнего уровня:
(?<=abc|abde)
Утверждения назад/lookbehind реализованы так, что, для каждой альтернативы,
временно сдвигается текущая позиция на фиксированную ширину, а затем делается
попытка найти совпадение.
Если перед текущей позицией недостаточно символов, совпадение считается неудачным.
Утверждения назад в сочетании с once-only субпатэрнами могут особенно пригодиться
для поиска совпадений в конце строк; пример дан в конце этого раздела для once-only
субпатэрнов.
| |