<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Каталог сетей</title>
		<link>http://netall.ucoz.ru/</link>
		<description>Форум</description>
		<lastBuildDate>Mon, 26 Sep 2022 17:43:47 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://netall.ucoz.ru/forum/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>Cod ucoz</title>
			<link>https://netall.ucoz.ru/forum/8-15-1</link>
			<pubDate>Mon, 26 Sep 2022 17:43:47 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://netall.ucoz.ru/forum/8&quot;&gt;Технологии&lt;/a&gt;&lt;br /&gt;Автор темы: netnsk7072&lt;br /&gt;Автор последнего сообщения: janishart22&lt;br /&gt;Количество ответов: 3</description>
			<content:encoded>У вас сайт на ucoz - отключить рекламу - это убрать код:</content:encoded>
			<category>Технологии</category>
			<dc:creator>netnsk7072</dc:creator>
			<guid>https://netall.ucoz.ru/forum/8-15-1</guid>
		</item>
		<item>
			<title>Анализаторы сайтов, доменов, сервисы</title>
			<link>https://netall.ucoz.ru/forum/8-56-1</link>
			<pubDate>Thu, 12 May 2011 10:49:02 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://netall.ucoz.ru/forum/8&quot;&gt;Технологии&lt;/a&gt;&lt;br /&gt;Автор темы: netnsk7072&lt;br /&gt;Автор последнего сообщения: netnsk7072&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>&lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://u.to/khby&quot; title=&quot;http://rootlink.org.ru/details/org.computer-soft.html&quot; rel=&quot;nofollow&quot;&gt;http://rootlink.org.ru/details/org.computer-soft.html&lt;/a&gt; &lt;p&gt; &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://u.to/4TsK&quot; title=&quot;http://www.cy-pr.com/&quot; rel=&quot;nofollow&quot;&gt;http://www.cy-pr.com/&lt;/a&gt;</content:encoded>
			<category>Технологии</category>
			<dc:creator>netnsk7072</dc:creator>
			<guid>https://netall.ucoz.ru/forum/8-56-1</guid>
		</item>
		<item>
			<title>Доктор Веб: вирусные события сентября 2010 года</title>
			<link>https://netall.ucoz.ru/forum/8-43-1</link>
			<pubDate>Thu, 07 Oct 2010 04:39:43 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://netall.ucoz.ru/forum/8&quot;&gt;Технологии&lt;/a&gt;&lt;br /&gt;Автор темы: netnsk7072&lt;br /&gt;Автор последнего сообщения: netnsk7072&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Средства массовой информации в сентябре были переполнены сообщениями о начавшейся кибервойне, связанной с распространением вредоносной программы Trojan.Stuxnet, и предположениями о целях создателей данного трояна.Тем временем интернет-мошенники тестировали нестандартные приемы вымогания денег, владельцы бот-сетей использовали беспечность сетевых системных администраторов, а авторы вредоносных программ для Android наносили &quot;точечные удары&quot;. Об этом говорится в ежемесячном отчете компании &quot;Доктор Веб&quot;. &lt;p&gt; В сентябре СМИ пестрели новостями о трояне Trojan.Stuxnet, появление которого получило широкую огласку в связи с географией распространения. Публикации эти зачастую носили политический характер: распространение Trojan.Stuxnet связывалось с саботажем запуска иранской атомной электростанции, на фоне чего технические новинки вирусописателей, примененные при создании трояна, отошли на второй план. В последних числах сентября появилась информация о том, что данный троянец получил широкое распространение в Китае и направлен против китайских предприятий. Некоторые эксперты пытаются выявить цели авторов программы с помощью лингвистического анализа надписей, обнаруженных в коде трояна. &lt;p&gt; &quot;Trojan.Stuxnet действительно является достаточно технологичной современной вредоносной программой. Для ее распространения использовалось несколько неизвестных ранее уязвимостей Windows. Несмотря на политику, для специалистов компании &quot;Доктор Веб&quot; этот троян — не более чем еще одна вредоносная программа, от которой необходимо защитить пользователей&quot;, - говорят в компании. В настоящее время распространяются и другие, не менее технологичные вирусы, например, 64-битная модификация руткита Trojan.Tdss (известен также как TDL), над организацией лечения которых также ведется кропотливая работа. &lt;p&gt; В сентябре увеличилось количество запросов по вопросам разблокировки компьютера, а также доступа к сайтам и популярному ПО. Если в августе таких обращений было в среднем 107 в сутки, то в сентябре эта планка поднялась до 124 обращений. &lt;p&gt; В то же время блокировщики Windows продолжают вытесняться другим мошенническим ПО. В частности, в сентябре появилось несколько троянцев, использующих новые методы перенаправления страниц в браузерах. Появились троянцы, блокирующие возможность работы в интернет-мессенджерах. Из каналов монетизации преступных доходов интернет-мошенников преобладала отправка денег на счет мобильного телефона злоумышленника (около 25%) и отправка платных СМС-сообщений (около 70%), из которых примерно в 80% случаев требовалась отправка платного СМС-сообщения на номер 6681. &lt;p&gt; За прошедший месяц злоумышленники применили сразу два новых метода, позволяющих подменять страницы в интернет-браузерах пользователей. Как и всегда в таких случаях, не обошлось без внесения дополнительных записей в системный файл hosts, но при этом были использованы новые технологии. &lt;p&gt; Trojan.Hosts.1581 подменял страницы сайтов нескольких российских банков таким образом, что вводимые на вредоносных сайтах параметры удаленного доступа к банковским счетам отправлялись злоумышленникам. Было обнаружено, что данная модификация Trojan.Hosts обладает руткит-составляющей, позволяющей трояну фильтровать файловые операции и операции с системным реестром. &lt;p&gt; Трояны семейства Trojan.HttpBlock применили другую тактику. На заражаемом компьютере эта вредоносная программа устанавливает собственный веб-сервер, именно на него и происходит перенаправление с популярных сайтов, в частности с поисковых систем. Целью злоумышленников было вымогание денег за разблокировку доступа к ним. &lt;p&gt; В конце сентября началось распространение троянца Trojan.IMLock, который после заражения системы блокирует запуск популярных интернет-мессенджеров ICQ, QIP и Skype, выводя при этом сообщение, оформленное в стиле заблокированного ПО. В этом сообщении говорится о том, что для доступа к своему аккаунту пользователь должен отправить платное СМС-сообщение на номер 6681. &lt;p&gt; В сентябре появилась новая вредоносная программа для Android (Android.SmsSend.2), которая по функционалу мало отличалась от известных ранее — рассылала платные СМС-сообщения с зараженных мобильных устройств. Но при этом важной особенностью Android.SmsSend.2 явился тот факт, что эта программа начинала загружаться с вредоносного сайта только тогда, когда пользователь заходил туда с мобильного устройства под управлением Android. Видимо, это, по задумке злоумышленников, должно воспрепятствовать мониторингу вредоносных сайтов, с которых рассылаются подобные троянцы. &lt;p&gt; В конце сентября специалисты компании &quot;Доктор Веб&quot; обнаружили бот-сеть, состоящую из компьютеров, на которых установлена и работает серверная часть ПО Radmin. Это ПО широко используется для удаленного управления компьютерами. Вредоносная программа, которая заражает компьютеры и подключает их к бот-сети, по классификации Dr.Web получила наименование Win32.HLLW.RAhack. &lt;p&gt; Заражение происходило лишь на тех компьютерах, на которых административный пароль для доступа к Radmin оказывался в списке известных червю паролей. Оказалось, что простые пароли используют многие администраторы. &lt;p&gt; &quot;Если говорить о возможных тенденциях октября 2010 года, то в этом месяце вполне можно ждать новые типы вредоносных программ, которые подменяют страницы при просмотре некоторых сайтов в браузере, а также позволяют осуществлять новые схемы интернет-мошенничества. Это две наиболее доходные статьи незаконного заработка киберпреступников в последнее время. Владельцы бот-сетей, которые часто являются транспортом для распространения вредоносных программ, будут и далее пытаться создать их на основе нестандартных программных либо аппаратных решений, т.к. в этом случае достигается главная цель – пользователь часто не подозревает о том, что компьютер заражен&quot;, - говорят антивирусные аналитики. &lt;p&gt; source</content:encoded>
			<category>Технологии</category>
			<dc:creator>netnsk7072</dc:creator>
			<guid>https://netall.ucoz.ru/forum/8-43-1</guid>
		</item>
		<item>
			<title>Представитили IT-отрасли критикуют новую программу по информ</title>
			<link>https://netall.ucoz.ru/forum/8-42-1</link>
			<pubDate>Thu, 07 Oct 2010 04:04:41 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://netall.ucoz.ru/forum/8&quot;&gt;Технологии&lt;/a&gt;&lt;br /&gt;Описание темы: информатика,  школа,  ИТ-отрасль&lt;br /&gt;Автор темы: netnsk7072&lt;br /&gt;Автор последнего сообщения: netnsk7072&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>&quot;Примерная программа&quot; обучения информатике, разработанная по заказу издательства &quot;Просвещение&quot;, ориентирована на теоретический подход к преподаваемой дисциплине. Она уже начала собирать критические отзывы в ИТ-отрасли. Об этом сообщает CNews.ru. &lt;p&gt; Новая &quot;Примерная (базовая) программа&quot; подготовлена группой ученых Российской академии образования по заказу издательства &quot;Просвещение&quot;. Ее авторы — профессора С.Бешенков, Е.Ракитина и Э.Миндзаева. &lt;p&gt; &quot;Базовая программа&quot; подразумевает глубокое изучение теории. Теоретическим разделам этой науки в ней уделено не менее половины половины учебной программы: 40 часов теории против 26 часов практики на базовом уровне обучения и 128 часов теории против 144 практики на профильном. &lt;p&gt; В частности, знакомству с основными характеристиками информации (синтаксисом, семантикой и прагматикой) в ней посвящены 5 учебных часов. На протяжении 16 часов школьникам предлагается изучать информационное моделирование, и в течение 8 учебных часов — теорию алгоритмов. В заключении текста &quot;Программы&quot; подчеркивается, что &quot;существенная часть знаний, умений, навыков, моделей деятельности может быть сформирована без обращения к компьютеру&quot;. &lt;p&gt; Заместитель главы департамента общего образования Минобрнауки Лариса Шмелькова пояснила, что документ, разработанный этой группой авторов не стоит считать окончательным. До тех пор, пока не принят новый Государственный образовательный стандарт по информатике, требования к новым учебным программам не определены, и можно говорить только о &quot;пробных&quot; документах. Такие документы готовят, чтобы представить на профессиональную и общественную экспертизу. &lt;p&gt; Если общественная экспертиза состоится, новая &quot;Примерная программа&quot; рискует подвергнуться жесткой критике. Изучивший документ глава АП КИТ Николай Комлев говорит, что обучение информатике по новой программе способно &quot;не вовлечь школьников в мир информационных технологий, а вызвать к нему аллергию&quot;. &lt;p&gt; Глава отраслевой ассоциации критикует чрезмерную увлеченность составителей программы изучением &quot;абстрактных и зачастую не имеющих точного определения понятий. В то же время построению алгоритмов и программ в проекте отводится меньше места, чем социальным аспектам информатики&quot;. Николай Комлев считает, что , что у данный документ необходимо переработать.</content:encoded>
			<category>Технологии</category>
			<dc:creator>netnsk7072</dc:creator>
			<guid>https://netall.ucoz.ru/forum/8-42-1</guid>
		</item>
		<item>
			<title>Исследователи обнаружили более 300 тыс. уязвимых сетевых уст</title>
			<link>https://netall.ucoz.ru/forum/8-41-1</link>
			<pubDate>Thu, 07 Oct 2010 04:02:16 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://netall.ucoz.ru/forum/8&quot;&gt;Технологии&lt;/a&gt;&lt;br /&gt;Автор темы: netnsk7072&lt;br /&gt;Автор последнего сообщения: netnsk7072&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Недавно Колумбийский университет провёл крупное исследование, в рамках которого состоялось глобальное сканирование IP-адресов. &lt;p&gt; В ходе исследования выяснилось, что около 21000 роутеров, веб-камер и VoIP-устройств полностью открыты для удаленных атак. Административный интерфейс этих продуктов доступен всем желающим из любой точки Интернета и, к тому же, стандартный заводской пароль для доступа к нему не был сменен владельцами. &lt;p&gt; Больше всего среди доступных роутеров в США оказалось устройств от Linksys. Из 2729 найденных в этом регионе аппаратов 45% были публично доступны и имели стандартный пароль для доступа к административному интерфейсу. На втором месте VoIP-устройства от Polycom: 29% из 585 найденных аппаратов оказались не защищены. &lt;p&gt; Последствия несанкционированного доступа к административному интерфейсу сетевого устройства могут быть весьма плачевными. Роутер может быть использован для сетевых атак на другие компьютеры, а VoIP-устройство перепрошито так, что будет записывать все разговоры и отправлять их прямиком злоумышленнику. На базе незащищенного оборудования может быть создан ботнет, ведь совсем недавно многие роутеры и модемы подверглись серьезной вирусной атаке, и теперь производители оперативно латают дыры в системе защиты своих устройств. &lt;p&gt; Окончательные результаты исследования таковы: более 300 тысяч сетевых устройств имеют свободный доступ к административному интерфейсу, хотя в подавляющем большинстве из них стандартный пароль был изменен. Тем не менее, специалисты из Колумбийского университета считают, что такое оборудование уязвимо перед серьезными хакерскими атаками.</content:encoded>
			<category>Технологии</category>
			<dc:creator>netnsk7072</dc:creator>
			<guid>https://netall.ucoz.ru/forum/8-41-1</guid>
		</item>
		<item>
			<title>Создана технология для повышения пропускной способности</title>
			<link>https://netall.ucoz.ru/forum/8-34-1</link>
			<pubDate>Tue, 21 Sep 2010 17:30:04 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://netall.ucoz.ru/forum/8&quot;&gt;Технологии&lt;/a&gt;&lt;br /&gt;Описание темы: уже имеющихся оптоволоконных сетей&lt;br /&gt;Автор темы: netnsk7072&lt;br /&gt;Автор последнего сообщения: netnsk7072&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Группа ученых, спонсируемых Европейским Союзом, продемонстрировала прототип системы, позволяющей несказанно значительно повысить пропускную способность сетей, базирующихся на технологии оптоволокна. Отчет исследователей сообщает о том, действительно разработанная технология использует истинно специальные методы снижения количества взаимных помех и шумов, вызываемых другими сигналами и усилителями. Новое оборудование, позволяющее достигать подобного эффекта, может быть установлено в текущие оптоволоконные сети без их дополнительной модификации. &lt;p&gt; Сигнал с информацией может искажаться из-за помех, вызванных другими сигналами, или фазовыми шумами. Более менее специальные электронные устройства, которые теперь используются в оптоволоконных сетях, теперь умеют уничтожать эти недостатки, однако происходит это за счет на самом деле пропускной способности канала, которая естественно снижается. Устройство исследователей может очищать сигнал от шумов и передавать его дальше не занимая несказа нно дополнительные полосы в канале передачи данных. &lt;p&gt; Исследование было выполнено при участии Периклиса Петропулоса из University of South&amp;ton, который добавил, что тем более лабораторный прототип пока не отправлен на не на шутку производственные линии, однако полученная технология может заметно улучшить текущие сети, разительно особенно при передаче сигналов на истинно длинные расстояния. &lt;p&gt; fendiperc.ru</content:encoded>
			<category>Технологии</category>
			<dc:creator>netnsk7072</dc:creator>
			<guid>https://netall.ucoz.ru/forum/8-34-1</guid>
		</item>
		<item>
			<title>Изучаем регулярные выражения</title>
			<link>https://netall.ucoz.ru/forum/8-32-1</link>
			<pubDate>Sun, 13 Jun 2010 03:18:38 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://netall.ucoz.ru/forum/8&quot;&gt;Технологии&lt;/a&gt;&lt;br /&gt;Автор темы: netnsk7072&lt;br /&gt;Автор последнего сообщения: netnsk7072&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Выражения из этой статьи используют синтаксис, принятый в Perl, в том числе недоступные в других диалектах функции. Похожий диалект вне языка Perl известен как &quot;Perl-совместимые регулярные выражения&quot; (PCRE, Perl-Compatible Regular Expressions) используется и в PHP &lt;p&gt; В большинстве текстовых редакторов можно провести поиск по слову, его части и учитывать регистр. Чаще всего, этих возможностей достаточно, поскольку приходится обрабатывать относительно простые тексты - мозг человека сразу оценивает полученное совпадение и принимает решения. &lt;p&gt; Рано или поздно наступает момент, когда человеческих ресурсов не хватает для обработки всей поступающей информации, или требуется ввести полностью автоматизированную обработку данных, например, для публикации новостей из разных источников на своём сайте. Здесь вступают в работу автоматизированные системы, в которых нашли широкое применение регулярные выражения. Их использование позволяет в десятки раз уменьшить объём кода, необходимого для обработки текстов. При первом знакомстве регулярные выражения вызывают самые различные реакции, но общее в них то, что человека отталкивает сложность понимания смысла этих «высказываний». Данная статья призвана объяснить, как прочитать выражение и понять его смысл. &lt;p&gt; &lt;b&gt;Термины&lt;/b&gt; &lt;p&gt; &lt;b&gt;оператор&lt;/b&gt; – символы, используемые в регулярных выражениях; они управляют поиском, но не участвуют в совпадении. &lt;br /&gt; &lt;b&gt;совпадение&lt;/b&gt; – один или больше символов и операторов регулярного выражения, которые совпали с проверяемым текстом. &lt;br /&gt; &lt;b&gt;квантификатор&lt;/b&gt; – оператор регулярного выражения, определяющий количество экземпляров повторяющегося совпадения. &lt;p&gt; &lt;b&gt;жадный (другое определение - «максимальный»)&lt;/b&gt; – захватывает все доступные совпадения, после чего может их возвратить, если потребуется операторам справа. По умолчанию, все квантификаторы - «жадные». &lt;br /&gt; &lt;b&gt;не жадный (другое определение - «минимальный»)&lt;/b&gt; – захватывает совпадение только в том случае, если нет совпадения справа. &lt;br /&gt; &lt;b&gt;захватывающий&lt;/b&gt; – жадный, никогда не возвращает захваченные совпадения. &lt;br /&gt; &lt;b&gt;последовательное совпадение&lt;/b&gt; – последовательность одинаковых совпадений. &lt;br /&gt; Словарь операторов &lt;p&gt; &lt;u&gt;символы&lt;/u&gt; &lt;p&gt; &lt;b&gt;&lt;символ&gt;&lt;/b&gt; – печатный символ: буквы, цифры, знаки препинания и т.д. &lt;br /&gt; &lt;b&gt;.&lt;/b&gt; – произвольный символ &lt;br /&gt; &lt;b&gt;подстрока&lt;/b&gt; – литеральный (такой, в котором нет операторов) набор символов. &lt;p&gt; &lt;u&gt;управление совпадением (квантификаторы)&lt;/u&gt; &lt;p&gt; * – ноль или больше последовательных совпадений &lt;br /&gt; + – одно или больше последовательных совпадений &lt;br /&gt; ? – ноль или одно совпадение &lt;br /&gt; *? – не жадные ноль или больше последовательных совпадений &lt;br /&gt; +? – не жадные одно или больше последовательных совпадений &lt;br /&gt; *+ – захватывающие ноль или больше последовательных совпадений &lt;br /&gt; ++ – захватывающие одно или больше последовательных совпадений &lt;br /&gt; {n1,n2} – от n1 до n2 последовательных совпадений &lt;br /&gt; {n} – ровно n совпадений &lt;br /&gt; формирование последовательности – совпасть может только вся последовательность &lt;p&gt; ( – начнём захватывать совпадения в последовательность и сохраним её в памяти (сохраняющие скобки) &lt;br /&gt; (?: – начнём захватывать совпадения в последовательность, но не сохраняем её (несохраняющие скобки) &lt;br /&gt; ) – завершим захватывать совпадения. &lt;br /&gt; | – альтернативная последовательность при отсутствии совпадения с последовательностью слева &lt;br /&gt; наборы символов – совпадает любой из символов &lt;p&gt; [ – откроем набор символов &lt;br /&gt; ] – закроем набор символов &lt;br /&gt; - – укажем диапазон символов &lt;br /&gt; ^ – набор содержит все символы, кроме перечисленных &lt;br /&gt; позиционная проверка &lt;p&gt; (?= – начнём проверку на наличие совпадения справа &lt;br /&gt; (?! – начнём проверку на отсутствие совпадения справа &lt;br /&gt; (?&lt; = – начнём проверку на наличие совпадения слева &lt;br /&gt; (?&lt;! – начнём проверку на отсутствие совпадения слева &lt;br /&gt; ) – завершим проверку &lt;br /&gt; ссылки на предыдущие совпадения &lt;p&gt; &amp;#92;0..&amp;#92;9 – порядковый номер последовательности в сохраняющих скобках &lt;br /&gt; Так выглядит перевод конструкций регулярных выражений на «человеческий» язык. В дальнейшем, при разборе примеров, я дам им развернутое описание. &lt;p&gt; Чтение и написание регулярных выражений &lt;p&gt; Проговаривание вслух и запись правил - основная проблема, возникающая при освоении техники разбора текста с помощью регулярных выражений. При отсутствии опыта трудно сформулировать словесную запись правил. Тем не менее - это наиболее эффективный путь составления регулярных выражений. &lt;p&gt; Основным правилом при составлении регулярных выражений является их запись в развёрнутом виде на листе бумаги или на экране. Так легче всего определить, насколько верно будет обработан текст. Другое правило заключается в составлении выражения от общего к частному. При его соблюдении значительно сокращается время написания выражения и количество ошибок. &lt;p&gt; Сформулируем условия для успешного составления регулярного выражения &lt;p&gt; У выражения должна быть «литературная» форма. &lt;br /&gt; Словесное описание должно быть логичным. &lt;br /&gt; Составление выражения должно идти: &lt;p&gt; от простого к сложному. &lt;br /&gt; от общего к частному. &lt;br /&gt; Несмотря на трудоёмкость подобной записи, она повышает скорость разработки и отладки правил разбора текстов и эффективность их применения. &lt;p&gt; Пример составления выражения &lt;p&gt; Задача &lt;p&gt; Выделить в HTML разметке содержимое определённых блоков с установленными атрибутами: &lt;p&gt; абзац (тег &lt;p&gt;) с CSS классом content &lt;br /&gt; элемент списка (тег &lt;li&gt;) с CSS классом content &lt;br /&gt; &lt;p&gt;Абзац 1&lt;/p&gt; &lt;br /&gt; &lt;p class=&quot;content&quot;&gt;Абзац 2&lt;/p&gt; &lt;br /&gt; &lt;ul&gt; &lt;br /&gt; &lt;li&gt;Элемент 1&lt;/li&gt; &lt;br /&gt; &lt;li class=&quot;content&quot;&gt;Элемент 2&lt;/li&gt; &lt;br /&gt; &lt;/ul&gt; &lt;br /&gt; &lt;p class=&quot;content&quot;&gt;Абзац 2&lt;/p&gt; &lt;br /&gt; &lt;li class=&quot;content&quot;&gt;Элемент 2&lt;/li&gt; &lt;br /&gt; Последовательность решения &lt;p&gt; Составим регулярное выражение для выделения всех тегов. &lt;br /&gt; Дополним его для выделения только парных тегов. &lt;br /&gt; Дополним его для выделения только заданных тегов. &lt;br /&gt; Напишем выражение для поиска пар &apos;имя_атрибута = «значение»&apos;. &lt;br /&gt; Дополним основное выражение для выделения заданных тегов с определёнными атрибутами. &lt;br /&gt; Добавим модификаторы поиска. &lt;br /&gt; Обычно начинают одновременно производить все 6 шагов что вызывает серьезные проблемы при отладке. Я предлагаю действовать постепенно. Шаг за шагом. &lt;p&gt; Приведу решение сразу: &lt;p&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;#&lt;(p|li&amp;#41;&amp;#92;s+&amp;#91;^&gt;]*?class&amp;#92;s*=&amp;#92;s*(&amp;#91;&apos;&quot;]&amp;#41;content&amp;#92;2&amp;#91;^&gt;]*&gt;((?:(?!&lt;/&amp;#92;1&gt;&amp;#41;.&amp;#41;*&amp;#41;&lt;/&amp;#92;1&gt;#is&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Согласитесь, выглядит оно почище «китайской грамоты». Тем не менее, следуя описанию, Вы увидите, что всё не так уж и сложно. &lt;p&gt; Итак, начнём: &lt;p&gt; Шаг 1. Выделение всех тегов &lt;p&gt; Запишем правила разбора по-русски: &lt;p&gt; Найдём подстроку &apos;&lt;&apos; &lt;br /&gt; Начнём захватывать символы в последовательность &lt;p&gt; Захватим одну или более букву алфавита &lt;br /&gt; Завершим захватывать совпадения &lt;br /&gt; Захватим 0 или более символов, не совпадающих с набором символов &apos;&gt;&apos; &lt;br /&gt; Захватим подстроку &apos;&gt;&apos; &lt;br /&gt; Начнём захватывать символы в последовательность &lt;p&gt; Захватим 0 или более символов, не совпадающих с набором символов &apos;&gt;&apos; &lt;br /&gt; Завершим захватывать совпадения &lt;br /&gt; Теперь, когда задача точно описана, можно приступить к записи её в виде регулярного выражения: &lt;p&gt; &lt; &lt;br /&gt; ( &lt;p&gt; &amp;#92;w+ &lt;br /&gt; ) &lt;br /&gt; [^&gt;]* &lt;br /&gt; &gt; &lt;br /&gt; ( &lt;p&gt; [^&lt;]* &lt;br /&gt; ) &lt;br /&gt; У нас получилось следующее выражение: &lt;p&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;&lt;(&amp;#92;w+&amp;#41;&amp;#91;^&gt;]*&gt;(&amp;#91;^&lt;]*&amp;#41;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Оно имеет 2 недостатка: &lt;p&gt; захватывает все теги, а не только парные. &lt;br /&gt; некорректно отрабатывает вложенные теги. &lt;br /&gt; Шаг 2. Выделение парных тегов &lt;p&gt; Запишем правила разбора формальным языком: &lt;p&gt; Найдём подстроку &apos;&lt;&apos; &lt;br /&gt; Начнём захватывать символы в последовательность &lt;p&gt; Захватим одну или более букву алфавита &lt;br /&gt; Завершим захватывать совпадения &lt;br /&gt; Захватим 0 или более символов, не совпадающих с набором символов &apos;&gt;&apos; &lt;br /&gt; Захватим подстроку &apos;&gt;&apos; &lt;br /&gt; Начнём захватывать символы в последовательность &lt;p&gt; Начнём захватывать символы в несохраняющую последовательность &lt;p&gt; Начнём проверку на отсутствие удачного совпадения справа последовательности из &lt;p&gt; &apos;&lt;/&apos; &lt;br /&gt; совпадение найденное на шагах 2-3 (ссылка на последовательность 1) &lt;br /&gt; &apos;&gt;&apos; &lt;br /&gt; Завершим проверку. &lt;br /&gt; Захватим любой символ &lt;br /&gt; Завершим захватывать совпадения. &lt;br /&gt; Произведём захват 0 или более раз &lt;br /&gt; Завершим захватывать совпадения. &lt;br /&gt; Захватим подстроку &apos;&lt;/&apos; &lt;br /&gt; Захватим совпадение найденное на шагах 2-3 (ссылка на последовательность 1) &lt;br /&gt; Захватим подстроку &apos;&gt;&apos; &lt;br /&gt; Теперь, когда задача точно описана, можно приступить к записи её в виде регулярного выражения: &lt;p&gt; &lt; &lt;br /&gt; ( &lt;p&gt; &amp;#92;w+ &lt;br /&gt; ) &lt;br /&gt; [^&gt;]* &lt;br /&gt; &gt; &lt;br /&gt; ( &lt;p&gt; (?: &lt;p&gt; (?! &lt;p&gt; &lt;/ &lt;br /&gt; &amp;#92;1 &lt;br /&gt; &gt; &lt;br /&gt; ) &lt;br /&gt; . &lt;br /&gt; ) &lt;br /&gt; * &lt;br /&gt; ) &lt;br /&gt; &lt;/ &lt;br /&gt; &amp;#92;1 &lt;br /&gt; &gt; &lt;br /&gt; Итак, у нас получилось следующее выражение: &lt;p&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;&lt;(&amp;#92;w+&amp;#41;&amp;#91;^&gt;]*&gt;((?:(?!&lt;/&amp;#92;1&gt;&amp;#41;.&amp;#41;*&amp;#41;&amp;#41;&lt;/&amp;#92;1&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Оно захватывает любые парные теги вместе с содержимым. &lt;p&gt; Шаг 3. Выделение требуемых тегов &lt;p&gt; Используя регулярное выражение, полученное на предыдущем шаге, мы можем выделить из текста сразу несколько типов тегов, используя конструкцию «альтернативная последовательность при отсутствии совпадения слева». В описании используем термин «альтернативная последовательность». &lt;p&gt; Добавим выделение из текста всего содержимого абзацев и пунктов списка: &lt;p&gt; Найдём подстроку &apos;&lt;&apos; &lt;br /&gt; Начнём захватывать символы в последовательность &lt;p&gt; подстроку &apos;p&apos; &lt;br /&gt; Добавим альтернативную последовательность &lt;br /&gt; подстроку &apos;li&apos; &lt;br /&gt; Завершим захватывать совпадения &lt;br /&gt; Произведём проверку на удачное совпадение справа набора символов &apos;&amp;#92;s&gt;&apos; &lt;br /&gt; Захватим 0 или более символов, не совпадающих с набором символов &apos;&gt;&apos; &lt;br /&gt; Захватим подстроку &apos;&gt;&apos; &lt;br /&gt; Начнём захватывать символы в последовательность &lt;p&gt; Начнём захватывать символы в несохраняющую последовательность &lt;p&gt; Начнём проверку на отсутствие удачного совпадения справа последовательности из &lt;p&gt; &apos;&lt;/&apos; &lt;br /&gt; совпадение найденное на шагах 2-3 (ссылка на последовательность 1) &lt;br /&gt; &apos;&gt;&apos; &lt;br /&gt; Завершим проверку &lt;br /&gt; Захватим любой символ &lt;br /&gt; Завершим захватывать совпадения &lt;br /&gt; Захватим последовательность 0 или более раз &lt;br /&gt; Завершим захватывать совпадения &lt;br /&gt; Захватим подстроку &apos;&lt;/&apos; &lt;br /&gt; Захватим совпадение найденное на шагах 2-3 (ссылка на последовательность 1) &lt;br /&gt; Захватим подстроку &apos;&gt;&apos; &lt;br /&gt; Пункты 7 и 8 были добавлены для того, чтобы выражение не захватывало теги, начало которых совпадает с выделяемыми тегами. Например, чтобы при поиске тега &lt;p&gt; не были захвачены теги &lt;param&gt;. &lt;p&gt; Переводим её в операторы регулярного выражения: &lt;p&gt; &lt; &lt;br /&gt; ( &lt;p&gt; p &lt;br /&gt; | &lt;br /&gt; li &lt;br /&gt; ) &lt;br /&gt; (?=[&amp;#92;s&gt;]) &lt;br /&gt; [^&gt;]* &lt;br /&gt; &gt; &lt;br /&gt; ( &lt;p&gt; (?: &lt;p&gt; (?! &lt;p&gt; &lt;/ &lt;br /&gt; &amp;#92;1 &lt;br /&gt; &gt; &lt;br /&gt; ) &lt;br /&gt; . &lt;br /&gt; ) &lt;br /&gt; * &lt;br /&gt; ) &lt;br /&gt; &lt;/ &lt;br /&gt; &amp;#92;1 &lt;br /&gt; &gt; &lt;br /&gt; Новое регулярное выражение: &lt;p&gt; &lt;(p|li)(?=[&amp;#92;s&gt;])[^&gt;&amp;#92;w]*&gt;((?:(?!&lt;/&amp;#92;1&gt;).)*))&lt;/&amp;#92;1&gt; &lt;br /&gt; Теперь в тексте будут выделены только теги p и li и всё их содержимое. &lt;p&gt; Шаг 4. Выделение пар имя_атрибута = &quot;значение&quot; &lt;p&gt; Требования к выражению &lt;p&gt; справа от имени атрибута должен быть пробел &lt;br /&gt; слева от значения должен быть пробел или закрывающая тег скобка &lt;br /&gt; значение должно быть заключено в одинарные или двойные кавычки &lt;br /&gt; между знаком равенства, именем атрибута и его значением могут быть пробелы &lt;br /&gt; Опишем задачу формальным языком: &lt;p&gt; Найдём 1 или больше символов &amp;#92;s &lt;br /&gt; Захватим 1 или больше символов &amp;#92;w &lt;br /&gt; Захватим 0 или больше символов &amp;#92;s &lt;br /&gt; Захватим подстроку &apos;=&apos; &lt;br /&gt; Захватим 0 или больше символов &amp;#92;s &lt;br /&gt; Начнём захватывать символы в последовательность &lt;p&gt; Захватим подстроку из набора &apos;»&apos; &lt;br /&gt; Завершим захватывать совпадения. &lt;br /&gt; Захватим 0 или больше символов, не входящих в набор символов, найденный на шагах 6-7 (ссылка на последовательность 1) &lt;br /&gt; Захватим символ, найденный на шагах 6-7 (ссылка на последовательность 1) &lt;br /&gt; Переводим в операторы регулярного выражения: &lt;p&gt; &amp;#92;s+ &lt;br /&gt; &amp;#92;w+ &lt;br /&gt; &amp;#92;s* &lt;br /&gt; = &lt;br /&gt; &amp;#92;s* &lt;br /&gt; ( &lt;p&gt; [&apos;»] &lt;br /&gt; ) &lt;br /&gt; [^&amp;#92;1]* &lt;br /&gt; &amp;#92;1 &lt;br /&gt; Получается следующее регулярное выражение: &lt;p&gt; &amp;#92;s+&amp;#92;w+&amp;#92;s*=&amp;#92;s*([&apos;&quot;])[^&amp;#92;1]*&amp;#92;1 &lt;br /&gt; Модифицируем его, чтобы выражение совпадало только с именем атрибута &apos;class&apos; и его значением &apos;content&apos;: &lt;p&gt; &amp;#92;s+class&amp;#92;s*=&amp;#92;s*([&apos;&quot;])content&amp;#92;1 &lt;br /&gt; Шаг 5. Добавим в основное выражение проверку на определённые атрибуты &lt;p&gt; Опишем задачу формальным языком: &lt;p&gt; Найдём подстроку &apos;&lt;&apos; &lt;br /&gt; Начнём захватывать символы в последовательность &lt;p&gt; Захватим подстроку &apos;p&apos; &lt;br /&gt; Добавим альтернативную последовательность &lt;br /&gt; Захватим подстроку &apos;li&apos; &lt;br /&gt; Завершим захватывать совпадения &lt;br /&gt; Захватим 1 или больше символов &amp;#92;s &lt;br /&gt; Захватим минимальные 0 или больше символов, не совпадающих с набором символов &apos;&gt;&apos; &lt;br /&gt; Добавим регулярное выражение с шага 4: class&amp;#92;s*=&amp;#92;s*([&apos;»])content&amp;#92;1 &lt;br /&gt; Захватим 0 или более символов, не совпадающих с набором символов &apos;&gt;&apos; &lt;br /&gt; Захватим подстроку &apos;&gt;&apos; &lt;br /&gt; Начнём захватывать символы в последовательность &lt;p&gt; Начнём захватывать символы в несохраняющую последовательность &lt;p&gt; Начнём проверку на отсутствие удачного совпадения справа последовательности из &lt;p&gt; &apos;&lt;/&apos; &lt;br /&gt; совпадение, найденное на шагах 2-3 (ссылка на последовательность 1) &lt;br /&gt; &apos;&gt;&apos; &lt;br /&gt; Завершим проверку &lt;br /&gt; Захватим любой символ &lt;br /&gt; Завершим захватывать совпадения &lt;br /&gt; Захватим последовательность 0 или более раз &lt;br /&gt; Завершим захватывать совпадения &lt;br /&gt; Захватим подстроку &apos;&lt;/&apos; &lt;br /&gt; Захватим совпадение, найденное на шагах 2-3 (ссылка на последовательность 1) &lt;br /&gt; Захватим подстроку &apos;&gt;&apos; &lt;br /&gt; Переводим её в операторы регулярного выражения: &lt;p&gt; &lt; &lt;br /&gt; ( &lt;p&gt; p &lt;br /&gt; | &lt;br /&gt; li &lt;br /&gt; ) &lt;br /&gt; &amp;#92;s+ &lt;br /&gt; [^&gt;]*? &lt;br /&gt; class&amp;#92;s*=&amp;#92;s*([&apos;»])content&amp;#92;2 &lt;br /&gt; [^&gt;]* &lt;br /&gt; &gt; &lt;br /&gt; ( &lt;p&gt; (?: &lt;p&gt; (?! &lt;p&gt; &lt;/ &lt;br /&gt; &amp;#92;1 &lt;br /&gt; &gt; &lt;br /&gt; ) &lt;br /&gt; . &lt;br /&gt; ) &lt;br /&gt; * &lt;br /&gt; ) &lt;br /&gt; &lt;/ &lt;br /&gt; &amp;#92;1 &lt;br /&gt; &gt; &lt;p&gt; Результирующее выражение: &lt;p&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;&lt;(p|li&amp;#41;&amp;#92;s+&amp;#91;^&gt;]*?class&amp;#92;s*=&amp;#92;s*(&amp;#91;&apos;&quot;]&amp;#41;content&amp;#92;2&amp;#91;^&gt;]*&gt;((?:(?!&lt;/&amp;#92;1&gt;&amp;#41;.&amp;#41;*&amp;#41;&lt;/&amp;#92;1&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;p&gt; Шаг 6. Добавление модификаторов и ограничителей &lt;p&gt; Ограничители &lt;p&gt; Практически во всех языках, где имеется поддержка регулярных выражений, возможно выбрать ограничители выражения. Самые распространённые это: / / и # #. В принципе, можно использовать практически любые пары символов, если это поддерживается интерпретатором. При выборе ограничителей лучше исходить из того, какие символы присутствуют в регулярном выражении. Выбирать лучше те, которых в выражении нет. В противном случае придётся экранировать эти символы, что сделает выражение более запутанным. В нашем случае стандартные / / не подходят, поскольку они есть внутри регулярного выражения. Поэтому я предлагаю использовать ограничители # #. &lt;p&gt; Модификаторы &lt;p&gt; Информацию по всем модификаторам поиска я советую смотреть в специальной справочной литературе, например, в документации по PHP и Perl. Здесь же мы используем i - поиск без учёта регистра и s - режим совпадения символа «.» с переводами строк. &lt;p&gt; Финальное выражение &lt;p&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;#&lt;(p|li&amp;#41;&amp;#92;s+&amp;#91;^&gt;]*?class&amp;#92;s*=&amp;#92;s*(&amp;#91;&apos;&quot;]&amp;#41;content&amp;#92;2&amp;#91;^&gt;]*&gt;((?:(?!&lt;/&amp;#92;1&gt;&amp;#41;.&amp;#41;*&amp;#41;&lt;/&amp;#92;1&gt;#is&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Как видите, эта задача решается достаточно просто. При написании статьи я её выбрал потому, что на форумах очень часто задают вопрос «как выбрать содержимое определённого тега» и «как разобрать HTML разметку». Решение перед вами. &lt;p&gt; Полезные ссылки &lt;p&gt; Regular-expressions.info - большое количество информации по регам, их реализации в разных языках программирования. &lt;br /&gt; Search&amp;Replace for Far - отличный плагин для работы с регами в фаре. &lt;br /&gt; RegexBuddy - мощная программа для визуализации регулярных выражений с поддержкой огромного количества диалектов. &lt;br /&gt; Благодарности &lt;p&gt; Спасибо всем, кто помог мне в написании статьи: &lt;p&gt; Ильдар Шайморданов &lt;br /&gt; Илья Cтpeльцын &lt;br /&gt; Дмитрий Кононов &lt;br /&gt; Автор: Илья Лебедев</content:encoded>
			<category>Технологии</category>
			<dc:creator>netnsk7072</dc:creator>
			<guid>https://netall.ucoz.ru/forum/8-32-1</guid>
		</item>
		<item>
			<title>Javascript - Flash</title>
			<link>https://netall.ucoz.ru/forum/8-11-1</link>
			<pubDate>Thu, 12 Nov 2009 15:32:40 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://netall.ucoz.ru/forum/8&quot;&gt;Технологии&lt;/a&gt;&lt;br /&gt;Описание темы: Flash на практике&lt;br /&gt;Автор темы: netnsk7072&lt;br /&gt;Автор последнего сообщения: netnsk7072&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Сегодняшний выпуск несколько отличается от предыдущих. В качестве учебного материала ответ на многочисленные письма с просьбой рассказать об обмене данными между Flash-проектом и JavaScript. Вполне вероятно, что для большинства подписчиков, этот материал будет сложен. &lt;br /&gt; Также хочу предупредить всех читателей рассылки, что следующий выпуск выйдет через 10-15 дней, как только у меня будет свободное время после сдачи квартального отчета. Это вовсе не означает, что я не стану отвечать на Ваши письма, просто не смогу ответить в тот же день. Как всегда жду от Вас выполненных работ. &lt;p&gt; Часто приходят письма, в которых авторы просят уточнить особенности текстовых полей. &lt;br /&gt; Итак, следует запомнить простое правило: &lt;br /&gt; В проектах для публикации в интернет, файл формата swf, можно использовать любые шрифты, но если Вы посылаете файл кому-то, например заказчику или мне, в формате fla, то нет гарантии, что на другом компьютере будут те же шрифты. В случае с заказчиком необходимо приложить сам шрифт или разбить все тексты в проекте (см. 11-й выпуск.). &lt;br /&gt; При использовании редактируемых текстовых полей предназначенных для ввода пользователем или вывода динамической текстовой информации, обязательно применяйте только стандартный шрифт, например Arial Cyr. В противном случае, нормально отображаться будет только латиница. &lt;br /&gt; Если Вы решите использовать текстовые поля и расположите их с наклоном, например, для лучшего решения дизайна, то они отображаться в проекте не будут. &lt;p&gt; Встречаются и вопросы подобного рода - &quot;Сделал фильм. У меня показывает нормально, а у друга ползет. Почему?&quot; &lt;br /&gt; Реальная скорость работы фильма зависит от производительности компьютера. Чем сложнее фильм, чем больше в нем движения и сложных эффектов (особенно масок), тем большие вычисления приходится производить процессору, и на компьютерах с меньшей скоростью возможно торможение. В случае, когда необходимо обеспечить совмещение действия и звука, необходимо применять синхронизацию, о чем обязательно будет рассказано в будущих выпусках. &lt;p&gt; Следующий вопрос: - &quot;У вас в конце каждого выпуска реклама о регистрации собственного сайта. И в качестве основного плюса - совместимость сервера с Flash. Разве для Flash сайтов нужна настройка?&quot; &lt;br /&gt; Flash действительно работает независимо от сервера, но особенность некоторых браузеров такова, что им кроме самого файла требуется знать его тип MIME, который передается вместе с файлом. Именно это я и имел в виду. Если администратор не прописал MIME, то при просмотре сайта с Flash броузером Netscape возможны проблемы (вплоть до повисания системы). Любой администратор без проблем прописывает необходимые данные (они начинают работать для всех сайтов сервера). &lt;br /&gt; Для настройки сервера необходимо прописать или проверить наличие типа MIME (application/x-shockwave-flash) и расширение файлов Flash (.swf) это все, что требуется для нормальной доступа к Flash страницам. &lt;p&gt; Кто использует MbA модули, тоже могут прислать свою рекламную сборку (кнопку 88х31 и текстовое описание) и Ваш сайт будет включен в рекламный набор моего сайта. Если по каким-то причинам не знаете, что такое MbA модуль, можете познакомится с данной технологией на странице &quot;Murmik&apos;s button Advertising&quot;. &lt;p&gt; Заканчивая часть спецвыпуска, придется поговорить о грустных для меня вещах. &lt;br /&gt; То, что меня постоянно подписывают на различные рекламные рассылки, я уже привык и просто не обращаю на это внимание. Началась очередная волна &quot;писем счастья и богатства&quot;. Дорогие мои &quot;доброжелатели&quot; представляете, если я пошлю копию письма не 10-15 человек, а сразу всем подписчикам рассылки? Вот счастья-то мне привалит :-)))) &lt;br /&gt; На такие письма обижаться глупо. В конце-концев у всех есть свои слабости, но вот письма другого рода меня сильно огорчают. Я получил в подарок целую &quot;упряжку лошадей&quot;. От простых коней в формате ворда с трехстраничными уговорами обязательно открыть данный документ, до попыток совратить меня картинками для взростых дядь. Единственно чего можно добиться подобными презентами, это прекращение существования данной рассылки. Скажу сразу, что особо погулять по сети за мой счет не очень получится. Я как и большинство читателей выпусков плачу за интернет из своего кармана, и на счету моего провайдера не бывает суммы более 10 у.е. &lt;br /&gt; Тех, кто хочет узнать обо мне больше, могут посетить &quot;Murmik&apos;s page&quot;, думаю большинство вопросов решаться сами собой. &lt;p&gt; Учебная часть: &lt;br /&gt; Большинство задач решаемых раньше JavaScript с гораздо большим успехом выполнит Flash. При этом на конкретный проект будет затрачено меньше времени и решаются проблемы графической совместимости в разных броузерах. Но иногда Web-мастеру проще часть задачи переложить на JavaScript или, например VB. В этом случае возникает необходимость организовать обмен данными между Flash и собственно скриптом на странице. Давайте посмотрим, каким образом можно добиться желаемого результата. &lt;p&gt; Обмен данными между Flash и JavaScript: &lt;br /&gt; Решить проблему взаимодействия данных, поможет действие FS Command. Реализация действия основано на стандартной возможности обмена данными по единому потоку. Рассмотрим это на конкретном примере. Создадим проект, состоящий из одного кадра, в котором находятся два текстовых поля и кнопка, при нажатии на которую, текст с одного поля копируется в другое. Но при этом, происходит не простое присвоение данных текстовому полю, а их передача броузеру и последующее присвоение значению второго текстового поля с использованием JavaScript. Подобным образом можно обеспечить передачу и обработку данными между Flash-фильмами находящимся на одной странице или в разных фреймах. &lt;br /&gt; Предположим, что у нас два текстовых поля с именами text1 и text2. Создадим необходимый скрипт для кнопки: &lt;p&gt; * Выберите действие FS Command &lt;br /&gt; * В поле Command вводим имя команды, которое будет использоваться для идентификации &lt;br /&gt; * В поле Arguments указываем передаваемые данные &lt;p&gt; Следует заметить, что в оба поля можно вводить как обычную информацию, так и генерируемую динамически. &lt;br /&gt; Существует еще выпадающее меню For standalone player, которое используется для управления Flash проектором при публикации в независимом приложении. &lt;br /&gt; fullscreen - в полный экран при значении True &lt;br /&gt; allowscale - включает режим изменения размера при True &lt;br /&gt; showmenu - разрешить показ меню при нажатии правой кнопкой мыши (True) &lt;br /&gt; guit - выход и закрытие проектора &lt;br /&gt; exec - запускает внешнее приложение &lt;br /&gt; в нашем случае скрипт будет следующим: &lt;p&gt; On (Release) &lt;br /&gt; FS Command (&quot;dates&quot;, text1) &lt;br /&gt; End On &lt;p&gt; Необходимо немного поработать с html кодом страницы. В тег EMBED добавьте имя проекта например &lt;br /&gt; NAME=&quot;FlashToJava&quot; &lt;br /&gt; Оно будет использоваться для идентификации в скрипте броузера. Кроме того, нужно включить обмен данных для Flash проекта (в том же теге) &lt;br /&gt; swLiveConnect=&quot;true&quot; &lt;p&gt; Обмен данных с JavaScript происходит с помощью функции Name_DoFSCommand, где Name имя присвоенное Flash проекту. Для выполнения задачи поставленной в начале описания потребуется следующий скрипт: &lt;p&gt; &lt;SCRIPT LANGUAGE=&quot;JavaScript&quot;&gt; &lt;br /&gt; function FlashToJava_DoFSCommand(command, argument) { &lt;br /&gt; if (command==&quot;dates&quot;) document.FlashToJava.SetVariable(&quot;text2&quot;, argument) &lt;br /&gt; } &lt;br /&gt; &lt;/SCRIPT&gt; &lt;p&gt; Корректная обработка данного скрипта происходит в Netscape, в моем EI5 обмен данными стал возможен, только после добавления дополнительного скрипта на VB: &lt;p&gt; &lt;SCRIPT LANGUAGE=VBScript&gt; &lt;br /&gt; Sub FlashToJava_FSCommand(ByVal coms, ByVal arg) &lt;br /&gt; call FlashToJava_DoFSCommand(coms, arg) &lt;br /&gt; end sub &lt;br /&gt; &lt;/SCRIPT&gt; &lt;p&gt; Но сюрпризы различия броузеров на этом не заканчиваются! Русский текст передается только в EI, поэтому применять обмен данными без дополнительных ухищрений реально для числовых и англоязычных данных. &lt;p&gt; Автор: Павел Г.Лапин Россия Мурманск</content:encoded>
			<category>Технологии</category>
			<dc:creator>netnsk7072</dc:creator>
			<guid>https://netall.ucoz.ru/forum/8-11-1</guid>
		</item>
		<item>
			<title>Microsoft создала фонд открытого ПО</title>
			<link>https://netall.ucoz.ru/forum/8-7-1</link>
			<pubDate>Fri, 11 Sep 2009 15:44:38 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://netall.ucoz.ru/forum/8&quot;&gt;Технологии&lt;/a&gt;&lt;br /&gt;Автор темы: netnsk7072&lt;br /&gt;Автор последнего сообщения: netnsk7072&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>&lt;!--uzquote--&gt;&lt;div class=&quot;bbQuoteBlock&quot;&gt;&lt;div class=&quot;bbQuoteName&quot; style=&quot;padding-left:5px;font-size:7pt&quot;&gt;&lt;b&gt;Quote&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;quoteMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzq--&gt;Корпорация MicrosoftMicrosoft объявила об учреждении собственного фонда открытого программного обеспечения CodePlex Foundation. В рамках фонда независимые разработчики смогут обмениваться кодами и бесплатно распространять свои программные разработки. Новый фонд получил 1 млн долларов в качестве стартового капитала. &lt;p&gt; На сайте фонда говорится, что CodePlex Foundation представляет собой организацию, обеспечивающую площадку для форума, где различные сообщества разработчиков открытых кодов могут объединяться в проекты, следовать общим целям и дополнять разработки друг друга. &lt;p&gt; CodePlex Foundation будет служить расширением сайта Microsoft CodePlex для открытых проектов. Как сообщается в блоге корпорации, новый фонд также будет сотрудничать с другими открытыми фондами для обмена наилучшими принципами работы. Также фонд обеспечивает основу для содействия участия коммерческих разработчиков программного обеспечения в проектах с открытыми кодами. Интеллектуальная собственность Фонда будет выпускаться под открытой лицензией. В настоящее время участники проекта разрабатывают устав Фонда, определяют типы проектов, в которых он примет участие, а также основные принципы взаимодействия некоммерческих разработчиков с представителями бизнеса. &lt;p&gt; Майкл Кот, аналитик из компании RedMonk считает, что фонд будет выглядеть как разновидность opensource-сообщества, объединившегося вокруг технологий Microsoft. Пока мир не получил ничего стоящего от подобного рода партнерства, исключением стала разве что Java, однако и здесь в последние годы появились заметные разногласия между участниками. Прежде чем начать работать, фонду необходимо четко определиться с лицензиями и интеллектуальной собственностью кодов.&lt;!--/uzq--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzquote--&gt; &lt;p&gt; Чувство несовместимости не пропадает. Или у компании иссякли халявные идеи.</content:encoded>
			<category>Технологии</category>
			<dc:creator>netnsk7072</dc:creator>
			<guid>https://netall.ucoz.ru/forum/8-7-1</guid>
		</item>
	</channel>
</rss>