Учебник РНР
Назад Вперёд

yaz_close

(PHP 4 >= 4.0.1)

yaz_close - закрывает YAZ-соединение.

Описание

int yaz_close (int id)

Закрывает Z-ассоциацию, заданную параметром id. Этот id является целевым ID, возвращённым из предыдущим вызовом команды yaz_connect().


Назад Оглавление Вперёд
yaz_ccl_parse Вверхyaz_connect
Hosted by uCoz
8528 107185860 8528 107190934 SWFMovie->streammp3
Учебник РНР
НазадВперёд

SWFMovie->streammp3

(unknown)

SWFMovie->streammp3 - поток MP3-файла.

Описание

void swfmovie->streammp3 (string mp3FileName)

Предупреждение!

Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.

swfmovie->streammp3() запускает поток mp3-файла mp3FileName. Не очень надёжна и работает со странностями (может пропускать начальный ID3-тэг). Как и SWFShape->addJpegFill(), эта функция нестабильна - нам, возможно потребуется отдельный SWFSound-объект для звуковых типов.

Обратите внимание, что этот movie недостаточно быстр, чтобы вместить достаточно кадров для вмещения всего потока mp3 - вы должны будете добавить (длина сонга * кадров в секунду) кадров для получения всего потока.

Да, теперь вы можете использовать ming для вмещения этой дьявольской рок-музыки в ваши SWF-файлы. Просто не говорите RIAA.
Пример 1. swfmovie->streammp3()
<?php
  $m = new SWFMovie();
  $m->setRate(12.0);
  $m->streamMp3("distortobass.mp3");
  // использовать ваш собственный MP3

  // 11.85 секунд на 12.0 fps = 142 кадра
  $m->setFrames(142);

  header('Content-type: application/x-shockwave-flash');
  $m->output();
?>


Назад Оглавление Вперёд
SWFMovie->setrate ВверхSWFMovie
Hosted by uCoz
8528 107126292 8528 107190934 RegExp
Назад    Вперёд

Ядро JavaScript 1.5. Справочник.


 

RegExp

 

Объект регулярного выражения, содержит патэрн регулярного выражения. Имеет свойства и методы для использования этого регулярного выражения для поиска и замены совпадений в строках.

 

В дополнение к свойствам отдельного объекта регулярного выражения, который Вы создаёте и использованием функции конструктора RegExp, предопределённый объект RegExp имеет static-свойства, которые устанавливаются всегда, когда используется какое-либо регулярное выражение.

 

Объект ядра

Реализован в

JavaScript 1.2, NES 3.0

JavaScript 1.3: добавлен метод toSource.

JavaScript 1.5, NES 6.0: добавлен флаг m, нежадный модификатор, незахватывающие скобки, "смотрящие вперёд"/lookahead-утверждения. ECMA 262, Edition 3.


Создание

 

Формат литерального текста или функция конструктора RegExp.

 

Литеральный формат используется так:

 

/pattern/flags

 

Функция конструктора используется так:

 

new RegExp("pattern"[, "flags"])


Параметры

pattern

Текст регулярного выражения.

flags

Флаг, если специфицирован, может иметь следующие значения в любом сочетании:

  • g: глобальная подстановка

  • i: игнорировать регистр

  • m: подставлять на нескольких строках

 

Заметьте, что параметры литерального формата не используют кавычек для обозначения строк, а параметры функции конструктора - используют кавычки. Итак, следующие выражения создают одно и то же регулярное выражение:

 

/ab+c/i
new RegExp("ab+c", "i")


Описание

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

 

re = new RegExp("\\w+")
re = /\w+/

 

В таблице представлен полный список и описание специальных символов, которые могут использоваться в регулярных выражениях.


 

Таблица 1.1    Специальные символы в регулярных выражениях

TD>*

Символ

Значение

\

Для символов, которые обычно рассматриваются литерально, указывает, что следующий символ является специальным символом и не интерпретируется литерально.

Например, /b/ совпадает с символом 'b'. Поместив обратную наклонную черту-backslash перед b, то есть /\b/, придаём символу специальное значение - "граница слова".

-или-

Для символов, которые обычно рассматриваются как специальные, указывает, что следующий символ является не специальным символом и должен интерпретироваться литерально.

Например, * это специальный символ, который означает 0 или более вхождений предшествующего символа; например, /a*/ означает совпадение с 0 или более a. Чтобы искать * литерально, поставьте перед ним backslash; например, /a\*/ совпадает с 'a*'.

^

Совпадение с начала ввода. Если многострочный флаг установлен в true, совпадает также сразу после символа обрыва строки.

Например, /^A/ не совпадает с 'A' в строке "an A", но совпадает с первой 'A' в строке  "An A."

$

Совпадение в конце ввода. Если многострочный флаг установлен в true, совпадает также непосредственно перед символом обрыва строки.

Например, /t$/ не совпадает с  't' в "eater", но совпадает с ним в "eat".

Совпадение с предыдущим символом 0 или более раз.

Например, /bo*/ совпадает с 'boooo' в "A ghost booooed" и с 'b' в "A bird warbled", но ничего не совпадает в "A goat grunted".

+

Совпадение с предыдущим символом 1 или более раз. Эквивалентно {1,}.

Например, /a+/ совпадает с 'a' в "candy" и со всеми 'a' в "caaaaaaandy".

?

Совпадение с предыдущим символом 0 или 1 раз.

Например, /e?le?/ совпадает с 'el' в "angel" и с 'le' в "angle."

если используется сразу после одного из квантификаторов *, +, ? или {}, делает квантификатор нежадным (совпадает минимальное число раз), что противоположно действию по умолчанию, когда квантификатор жадничает (совпадает максимальное число раз).

Также используется во вперёдсмотрящих утверждениях, которые описаны в (?=), (?!), и (?:) в этой таблице.

.

(Десятичная точка) совпадает с любым одиночным символом, исключая символ новой строки.

Например, /.n/ совпадает с 'an' и 'on' в "nay, an apple is on the tree", но не с 'nay'.

(x)

Совпадает с 'x' и запоминает совпадение. Это называется "захватывающие скобки".

Например, /(foo)/ совпадает с и запоминает 'foo' в "foo bar." Совпавшая подстрока может быть вызвана из элементов результирующего массива [1], ..., [n] или из предопределённых свойств $1, ..., $9 RegExp-объектов.

(?:x)

Совпадает с 'x', но не запоминает совпадение. Это называется "незахватывающие скобки". Совпавшая подстрока не может быть вызвана из элементов результирующего массива [1], ..., [n] или из предопределённых свойств $1, ..., $9 RegExp-объектов.

x(?=y)

Совпадает с 'x', только если после 'x' следует 'y'. Например, /Jack(?=Sprat)/ совпадает с 'Jack', только если следом идёт 'Sprat'. /Jack(?=Sprat|Frost)/ совпадает с 'Jack', только если следом идёт 'Sprat' или 'Frost'. Однако ни 'Sprat', ни 'Frost' не являются частью результатов совпадения.

x(?!y)

Совпадает с 'x', только если после 'x' не следует 'y'. Например, /\d+(?!\.)/ совпадает с числом, только если следом не идёт десятичная точка.
/\d+(?!\.)/.exec("3.141") совпадает с 141, но не совпадает с 3.141.

x|y

Совпадает с 'x' или с  'y'.

Например, /green|red/ совпадает с 'green' в "green apple" и с 'red' в "red apple."

{n}

Где n это положительное целое. Совпадает точно с n появлений предшествующего элемента.

Например, /a{2}/ не совпадает с  'a' в "candy," но совпадает со всеми 'a' в "caandy" и с первыми двумя 'a' в "caaandy."

{n,}

Где n это положительное целое. Совпадает с не менее, чем n появлений предшествующего элемента.

Например, /a{2,}не совпадает с  'a' в "candy," но совпадает со всеми 'a' в "caandy" и в "caaaaaaandy."

{n,m}

Где n и m это положительные целые. Совпадает с минимум n и с максимум m появлений предшествующего элемента.

Например, /a{1,3}/ не совпадает ни с чем в "cndy", совпадает с 'a' в "candy," с первыми двумя 'a' в "caandy" и с первыми тремя 'a' в "caaaaaaandy". Обратите внимание, что при совпадении с "caaaaaaandy", совпадает "aaa", хотя оригинальная строка содержит больше 'a'.

[xyz]

Набор символов. Совпадение с одним из символов в скобках. Можно специфицировать диапазон символов с помощью дефиса.

Например, [abcd] это то же самое, что [a-c]. Совпадает с 'b' в "brisket" и с 'c' в "ache".

[^xyz]

Отрицающий набор символов. То есть совпадение с тем, что не заключено в скобки. Можно специфицировать диапазон символов с помощью дефиса.

Например, [^abc] это то же самое, что [^a-c]. С начала совпадает с  'r' в "brisket" и с 'h' в "chop."

[\b]

Совпадает с backspace. (Не с \b.)

\b

Совпадает с концом слова, таким как пробел. (Не с [\b].)

Например, /\bn\w/ совпадает с 'no' в "noonday";/\wy\b/ совпадает с 'ly' в "possibly yesterday."

\B

Совпадение не в конце слова.

Например, /\w\Bn/ совпадает с 'on' в "noonday", и /y\B\w/ совпадает с 'ye' в "possibly yesterday."

\cX

Где X это буква из диапазона A - Z. Совпадение с управляющим символом в строке.

Например, /\cM/ совпадает с control-M в строке.

\d

Совпадает с цифрой. Эквивалентно [0-9].

Например, /\d/ или /[0-9]/ совпадает с '2' в "B2 is the suite number."

\D

Совпадает с не-цифрой. Эквивалентно[^0-9].

Например, /\D/ или /[^0-9]/ совпадает с 'B' в "B2 is the suite number."

\f

Совпадает с form-feed/прогоном страницы.

\n

Совпадает с linefeed/прогоном строки.

\r

Совпадает с "возвратом каретки".

\s

Совпадает с одиночным пробельным символом, включая space, tab, form feed, line feed. Эквивалентно [ \f\n\r\t\u00A0\u2028\u2029].

Например, /\s\w*/ совпадает с ' bar' в "foo bar."

\S

Совпадает с одиночным символом, отличным от пробелов. Эквивалентно
[^ \f\n\r\t\u00A0\u2028\u2029].

Например, /\S/\w* совпадает с 'foo' в "foo bar."

\t

Совпадает с tab.

\v

Совпадает с vertical tab.

\w

Совпадает с любым алфавитным или цифровым символом, включая underscore/символ подчёркивания. Эквивалентно [A-Za-z0-9_].

Например, /\w/ matches 'a' in "apple," '5' in "$5.28," and '3' in "3D."

\W

Совпадает с любым не-словом. Эквивалентно [^A-Za-z0-9_].

Например, /\W/ or /[^$A-Za-z0-9_]/ совпадает с '%' в "50%."

\n

Где n это положительное целое. обратная ссылка на последнее совпадение подстроки, где n заключённых в скобки в регулярном выражении (включая левую скобку).

Например, /apple(,)\sorange\1/ совпадает с 'apple, orange' в "apple, orange, cherry, peach." Более сложные примеры даны после этой таблицы.

\0

Совпадает с символом NUL. После него не ставьте другую цифру.

\xhh

Совпадает с символом с кодом hh (два 16-ричных числа).

\uhhhh

Совпадает с символом с кодом hhhh (четыре 16-ричных числа).

 

Литеральная нотация предоставляет компиляцию регулярного выражения при вычислении выражения. Используйте литеральную нотацию, если регулярное выражение должно остаться константой. Например, если Вы используете литеральную нотацию для построения регулярного выражения, используемого в цикле, регулярное выражение не должно перекомпилироваться при каждой итерации.

 

Конструктор объекта регулярного выражения, например, new RegExp("ab+c"), предоставляет компиляцию регулярного выражения на этапе прогона/runtime. Используйте функцию, если знаете, что патэрн регулярного выражения будет изменяться, или если Вы не знаете патэрн и получаете его из другого источника, такого как ввод от пользователя.

 

Отдельный предопределённый объект RegExp доступен для каждого окна; то есть каждый отдельный поток выполнения JavaScript получает свой собственный объект RegExp. Поскольку каждый скрипт запускается в потоке без остановки до конца выполнения, это гарантирует, что разные скрипты не перепишут значения объекта RegExp.


Свойства. Резюме.
 

Обратите внимание, что некоторые свойства объекта RegExp имеют и длинные, и короткие (Perl-подобные) имена. Оба имени всегда ссылаются на одно и то же значение. Perl это язык программирования, из которого JavaScript смоделировал свои регулярные выражения.

 

Свойство

Описание

constructor

Специфицирует функцию, создающую прототип объекта.

global

Нужно ли тестировать регулярное выражение относительно всех возможных совпадений в строке, или только относительно первого. В JavaScript 1.5 это свойство экземпляра объекта RegExp, а не объект RegExp.

ignoreCase

Игнорировать ли регистр символов при выполнении совпадений в строке. В JavaScript 1.5 это свойство экземпляра объекта RegExp, а не объект RegExp.

lastIndex

Индекс, с которого начинать поиск совпадения в строке. В JavaScript 1.5 это свойство экземпляра объекта RegExp, а не объект RegExp.

multiline

Искать ли в строках, расположенных по нескольким строкам. В JavaScript 1.5 это свойство экземпляра объекта RegExp, а не объект RegExp.

prototype

Позволяет добавлять свойства всем объектам.

source

Текст патэрна. В JavaScript 1.5 это свойство экземпляра объекта RegExp, а не объект RegExp.


 

Метод. Резюме.


Метод

Описание

exec

Выполняет поиск совпадений в своём параметре-строке.

test

Тестирует на совпадение в своём параметре-строке.

toSource

Возвращает литерал объекта, представляющий специфицированный объект; можно использовать это значение для создания нового объекта. Переопределяет метод Object.toSource.

toString

Возвращает строку, представляющую специфицированный объект. Переопределяет метод Object.toString.

 

Кроме того, этот объект наследует методы watch и unwatch из Object.


Примеры

Пример 1.

Этот скрипт использует метод replace для переключения слов в строке. В замещающем тексте скрипт использует "$1" и "$2" для обозначения результатов совпадений с соответствующими скобками в патэрне регулярного выражения.

 

<SCRIPT>
re = /(\w+)\s(\w+)/;
str = "John Smith";
newstr=str.replace(re, "$2, $1");
document.write(newstr)
</SCRIPT>

 

На экране появится "Smith, John".

 

Пример 2.

В этом примере RegExp.input устанавливается событием Change. В функции getInfo метод exec использует значение RegExp.input в качестве аргумента.

 

<HTML>

<SCRIPT>
function getInfo() {
   re = /(\w+)\s(\d+)/;
   var m = re.exec();
   window.alert(m[] + ", your age is " + m[2]);
}
</SCRIPT>

Enter your first name and your age, and then press Enter.

<FORM>
<INPUT TYPE:"TEXT" NAME="NameAge" onChange="getInfo(this);">
</FORM>

</HTML>


constructor


 

Специфицирует функцию, которая создаёт прототип объекта. Обратите внимание, что значением этого свойств является ссылка на саму функцию, а не строка с именем функции.

Свойство из

RegExp

Реализовано в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262


Описание

См. Object.constructor.

 


exec


 

Выполняет поиск совпадений в специфицированной строке. Возвращает результирующий массив.

Метод из

RegExp

Реализован в

JavaScript 1.2, NES 3.0

Версия ECMA

ECMA 262, Edition 3 (только первый синтаксис)


Синтаксис
regexp.exec([str])
regexp([str])


Параметры

<
regexp

Имя регулярного выражения. Может быть именем переменной или литералом.