You’ve probably found this post while searching for nginx and php (fastcgi with php-cgi) for windows. I ran into the “No input file specified.” problem and finally figured it out. The key is we are running on windows and not unix/linux. Windows paths are not /home/user/dir they are c:\cygwin\home\user\dir.
Keep reading for a complete How To nginx + php-cgi on windows :)
В этом уроке мы приведем несколько примеров регулярных выражений (RegExp) jQuery, которые вы можете использовать в своих проектах. Они очень удобны для поиска и проверки почти всех данных, которые есть на вашей веб-странице. Также, они удобны для проверки значений в формах.
Так говорил учитель: ”Когда ты научишься ловить код ошибки по стеку корки, наступит твое время уходить”.
Нечто таинственное возникло, родившись из безмолвной пустоты. Одиноко и недвижимо ожидая, оно покоится и все же пребывает в постоянном движении. Это источник всех программ. Я не знаю его имени, поэтому я буду называть его Дао Программирования.
Если Дао хорошее, то операционная система хорошая. Если операционная система хорошая, то и компилятор хороший. Если компилятор хороший, приложение тоже хорошее. Пользователь доволен, и во всем мире воцаряется гармония.
Дао Программирования уплывает далеко и возвращается на утреннем ветре.
Дао породило машинный язык. Машинный язык породил ассемблер. Ассемблер породил компилятор. Теперь в мире десять тысяч языков.
У каждого языка есть свое, хоть и скромное, предназначение. У каждого языка есть отражение Инь и Янь в программах. У каждого языка есть свое место внутри Дао.
Но не пиши на Коболе, если можешь этого избежать.
Вначале было Дао. Дао породило Место и Время. Поэтому Место и Время – это Инь и Янь программирования.
У программистов, не постигших Дао, всегда не хватает времени и свободного места для своих программ. У программистов, постигших Дао, всегда достаточно времени и места для выполнения цели.
Как может быть иначе?
Мудрый программист слышит о Дао и усердно следует ему. Программист средних способностей слышит о Дао и ищет его. Неумный программист слышит о Дао и смеется над ним.
Если бы над ним не смеялись, Дао не было бы Дао.
Высокие звуки труднее расслышать. Движение вперед – пусть к отступлению. Большой талант проявляется на склоне лет. Великая белизна кажется покрытой пятнами. Даже в совершенной программе есть ошибки.
Если вам нужно использовать регулярные выражения при создании сайта, вовсе не обязательно прибегать к использованию Perl или PHP, — JavaScript вполне может справится с этой работой. В этой статье мы рассмотрим объект RegExp в JavaScript и его методы. Я уверен, что после прочтения, JaveScript представится вам в другом свете.
Настоящий Мир
Большинство Настоящих Программистов относятся к JavaScript, словно к бедной родственнице из деревни — иногда полезна, но не очень важна. Настоящих Программистов не интересует язык, чье предназначение в том, чтобы заменять одно изображение другим или рисовать след за мышью по веб-странице. У Настоящих Программистов есть более важные дела.
Что ж, JavaScript ограничен стороной клиента в веб-транзакции, но на этой территории, он безусловный король. Нет языка, настолько простого к изучению или дающего возможность сделать столько полезных вещей с минимальными усилиями. И одно из того, что вы можете делать, это использовать регулярные выражения.
По ходу этой статьи, я собираюсь дать вам представление о регулярных выражениях в контексте JavaScript. Я покажу, как использовать объект String в JavaScript для простейших возможностей поиска соответствия или осуществления замены, так же, как и для более сложных действий со строками. И я представлю вам объект RegExp, который предоставляет удобный путь для создания более эффективного кода распространенной проверки входящих данных на стороне клиента. Итак, приступим; независимо от того, Настоящий ли вы Программист, или только пытаетесь им стать, я уверен, что вы найдете для себя кое-что полезное ниже.
Наверное не все знают, что такое git и с чем его едят. git – это распределенная система контроля версий. Основные ее преимущества, лично для меня, распределенность и использование бинарных дифов, что упрощает работу с системой нескольких пользователей одновременно, и упрощает хранение бинарных файлов, ресурсов.
git используется во многих крупных проектах: Linux kernel, KDE и многих других.
Просто рецепт если вам нужно удалить слово из готовой HTML-страницы. view plainprint? var el = $('#id'); el.html(el.html().replace(/слово/ig, "")); Вам осталось только поменять "слово" на свой вариант.
ОПИСАНИЕ. На странице устанавливается фрейм, который скрыто для посетителей открывает другую страницу(страница в странице). При этом посетитель не видит открываемой страницы. Увидеть загрузку дополнительной страницы возможно только в статусной строке.
<div class="articleContent"> <p class="redLetter">Большенству веб-разработчиков, более или менее тесно общавшихся с разметкой известно, что выпадающие списки – <strong><select></strong> – как таковые невозможно отстилить. «Веб-разработчик – технарь, у него нет эстетического воображения» – подумает дизайнер и нарисует «красивые» селекты. Мало того, бизнес (заказчики или менеджеры) посмотрят и решат, что красиво – правильно. И вот стоишь ты один в поле и кручинишься, куда же тебя судьбинушка завела.</p> <p>Сами селекты отстилить нельзя, зато можно сделать для них красивую обертку можно. Что нам для этого нужно:</p> <ol> <li>Не самые глубокие познания в <strong>HTML</strong></li> <li>Advanced скилы в <strong>CSS</strong></li> <li>Немного <strong>JavaScript</strong></li> <li>Холодную голову</li> <li>Крепкие нервы</li> <li>Пол-литра пива</li> </ol> <p>Есть, к примеру, дизайн страницы и в нем вот такое чудо, которое должно исполнять роль селекта:</p> <div style="text-align: center;"><img width="221" height="45" title="select_01" alt="" src="http://frontendblog.info/post-images/2010/08/select_01.png"></div> <p>Ну и предположим, что дизайна на саму выпадающую часть у нас нет – значит подойдет и стандартная. Дальше буду рассказывать про то как минимизировать труды с максимумом пользы.</p> <p>Делаем красивую <strong>HTML</strong>ку, как нас просит дизайн, абсолютно-позицыонируем над ней селект и прячим селект. Ну хорошо, скажите Вы, и как же заставить всю эту громадину работать, если всем известно, что <strong>JavaScript</strong>‘ом селект не откроешь? Дочитай до конца и не лезь вперед батьки, отвечу я. Вот Вам селект, попробуйте в него покликать, в любое место, в любом браузере:</p> <div style="text-align: center;"> <select> <option>————</option> <option>11111111</option> <option>22222222</option> <option>22222222</option> <option>22222222</option> </select> </div> <p>Удивительно, не правда ли? Он открывается куда бы в него ни кликнули. Вот на этом и построим весь принцып работы нашего красивого селекта. При этом все-таки можно задать ему размеры:</p> <pre><code class="html"><span class="html__tag_start"><select</span> <span class="html__attr_name">style</span>=<span class="html__attr_value">"width: 200px; height: 30px;"</span><span class="html__tag_start">></span> <br> <span class="html__tag_start"><option</span><span class="html__tag_start">></span>------------<span class="html__tag_end"></option></span> <br> <span class="html__tag_start"><option</span><span class="html__tag_start">></span>11111111<span class="html__tag_end"></option></span> <br> <span class="html__tag_start"><option</span><span class="html__tag_start">></span>22222222<span class="html__tag_end"></option></span> <br> <span class="html__tag_start"><option</span><span class="html__tag_start">></span>22222222<span class="html__tag_end"></option></span> <br> <span class="html__tag_start"><option</span><span class="html__tag_start">></span>22222222<span class="html__tag_end"></option></span> <br><span class="html__tag_end"></select></span> <br></code></pre> <div style="text-align: center;"> <select style="width: 200px; height: 30px;"> <option>————</option> <option>11111111</option> <option>22222222</option> <option>22222222</option> <option>22222222</option> </select> </div> <p>Как всегда, первым делом <strong>HTML</strong>:</p> <pre><code class="html"><span class="html__tag_start"><span</span> <span class="html__attr_name">class</span>=<span class="html__attr_value">"select"</span><span class="html__tag_start">></span> <br> <span class="html__tag_start"><span</span> <span class="html__attr_name">class</span>=<span class="html__attr_value">"left"</span><span class="html__tag_start">></span> <br> <span class="html__tag_start"><span</span> <span class="html__attr_name">class</span>=<span class="html__attr_value">"button"</span><span class="html__tag_start">></span> <br> <span class="html__tag_start"><span</span> <span class="html__attr_name">class</span>=<span class="html__attr_value">"center"</span><span class="html__tag_start">></span><span class="html__tag_end"></span></span> <br> <span class="html__tag_end"></span></span> <br> <span class="html__tag_end"></span></span> <br> <span class="html__tag_start"><select</span><span class="html__tag_start">></span> <br> <span class="html__tag_start"><option</span><span class="html__tag_start">></span>------------<span class="html__tag_end"></option></span> <br> <span class="html__tag_start"><option</span><span class="html__tag_start">></span>11111111<span class="html__tag_end"></option></span> <br> <span class="html__tag_start"><option</span><span class="html__tag_start">></span>22222222<span class="html__tag_end"></option></span> <br> <span class="html__tag_start"><option</span><span class="html__tag_start">></span>22222222<span class="html__tag_end"></option></span> <br> <span class="html__tag_start"><option</span><span class="html__tag_start">></span>22222222<span class="html__tag_end"></option></span> <br> <span class="html__tag_end"></select></span> <br><span class="html__tag_end"></span></span> <br></code></pre> <p>Здесь будет использоваться тот же принцип, что и в посте про <a class="mylink" href="/styles/prettiness/pretty-buttons/">кнопки</a>, и, самое главное, очень похожий спрайт:</p> <div style="text-align: center;"><img width="100" height="110" title="select_bg" alt="" src="http://frontendblog.info/post-images/2010/08/select_bg.png"></div> <p>Вы, наверное, заметили, что вместо излюбленных всеми дивов, я использовал здесь спаны. А сделал я это из простой лени. Как известно, великий и неповторимый IE7 не очень любит, когда нативно-блочные элементы принуждают быть инлайн-блочными, и игнорирует такое обращение с ними. Так что выхода остается 2 – либо некрасивый хак, либо красивый спан <img class="wp-smiley" alt=":)" src="http://frontendblog.info/wp-includes/images/smilies/icon_smile.gif"> Я за второе.</p> <p>Давайте пока забьем на сам селект и по-быстрому набросаем его обложку. Стили там тоже не сложные, как и у кнопок:</p> <pre><code class="css"><span class="css__class">.select</span> { <br> <span class="css__property">display:</span> <span class="css__value">inline</span>-<span class="css__value">block</span>; <br> <span class="css__property">position:</span> <span class="css__value">relative</span>; <span class="css__comment">/* основа для <br> позиционирования селекта */</span> <br>} <br><span class="css__class">.select</span> <span class="css__element">span</span> { <br> <span class="css__property">background-image:</span> <span class="css__url">url(</span>/* здесь путь к спрайту */<span class="css__url">)</span>; <br> <span class="css__property">display:</span> <span class="css__value">block</span>; <span class="css__comment">/* применение бокс-модели */</span> <br> <span class="css__property">cursor:</span> <span class="css__value">pointer</span>; <br> <span class="css__property">height:</span> <span class="css__number">30px</span>; <span class="css__comment">/* высота части спрайта */</span> <br> <span class="css__property">line-height:</span> <span class="css__number">30px</span>; <span class="css__comment">/* выравниваем текст по высоте */</span> <br>} <br><span class="css__class">.select</span> <span class="css__class">.left</span> { <br> <span class="css__property">background-position:</span> <span class="css__number">0px</span> <span class="css__number">0px</span>; <span class="css__comment">/* позиционируем спрайт */</span> <br> <span class="css__property">padding-left:</span> <span class="css__number">10px</span>; <span class="css__comment">/* ширина соотв. части в спрайте */</span> <br> <span class="css__property">background-repeat:</span> <span class="css__value">no-repeat</span>; <br>} <br><span class="css__class">.select</span> <span class="css__class">.button</span> { <br> <span class="css__property">background-position:</span> <span class="css__value">right</span> -<span class="css__number">80px</span>; <span class="css__comment">/* позиционируем спрайт */</span> <br> <span class="css__property">padding-right:</span> <span class="css__number">30px</span>; <span class="css__comment">/* ширина кнопки в спрайте */</span> <br> <span class="css__property">background-repeat:</span> <span class="css__value">no-repeat</span>; <br>} <br><span class="css__class">.select</span> <span class="css__class">.center</span>{ <br> <span class="css__property">background-position:</span> <span class="css__value">left</span> -<span class="css__number">40px</span>; <span class="css__comment">/* позиционируем спрайт */</span> <br> <span class="css__property">background-repeat:</span> <span class="css__value">repeat-x</span>; <br> <span class="css__property">width:</span> <span class="css__number">150px</span>; <br>} <br></code></pre> <p> На этом этапе мы имеем вполне красивую и соответствующую дизайну непонятную штуку и селект:</p> <div style="text-align: center;"><img width="250" height="78" title="select_02" alt="" src="http://frontendblog.info/post-images/2010/08/select_02.png"></div> <p>Теперь надо расположить селект поверх нашего непойми чего и выровнять его размеры:</p> <pre><code class="css"><span class="css__class">.select</span> <span class="css__element">select</span> { <br> <span class="css__property">position:</span> <span class="css__value">absolute</span>; <br> <span class="css__property">width:</span> <span class="css__number">190px</span>; <br> <span class="css__property">height:</span> <span class="css__number">30px</span>; <br> <span class="css__property">left:</span> <span class="css__number">0px</span>; <br> <span class="css__property">top:</span> <span class="css__number">0px</span>; <br>}</code></pre> <p>А чтобы было проще с размерами определяться, сделаем селект маленько прозрачным:</p> <pre><code class="css"><span class="css__class">.select</span> <span class="css__element">select</span> { <br> <span class="css__property">position:</span> <span class="css__value">absolute</span>; <br> <span class="css__property">width:</span> <span class="css__number">190px</span>; <br> <span class="css__property">height:</span> <span class="css__number">30px</span>; <br> <span class="css__property">left:</span> <span class="css__number">0px</span>; <br> <span class="css__property">top:</span> <span class="css__number">0px</span>; <br> opacity: .<span class="css__number">2</span>; <br> <span class="css__property">filter:</span> alpha(opacity=<span class="css__number">20</span>); <br>}</code></pre> <p>Получившийся результат посмотрим, пощелкаем покликаем……:</p> <style type="text/css"> .select select { position: absolute; width: 190px; height: 30px; left: 0px; top: 0px; opacity: .4; filter: alpha(opacity=40); } .select select.transparent { opacity: 0; filter: alpha(opacity=0); } .select { display: inline-block; position: relative; /* основа для позиционирования селекта */ } .select span { background-image: url(/post-images/2010/08/select_bg.png); display: block; /* применение бокс-модели */ cursor: pointer; height: 30px; /* высота части спрайта */ line-height: 30px; /* выравниваем текст по высоте */ text-align: left; } .select .left { background-position: 0px 0px; /* позиционируем спрайт */ padding-left: 10px; /* ширина соотв. части в спрайте */ background-repeat: no-repeat; } .select .button { background-position: right -80px; /* позиционируем спрайт */ padding-right: 30px; /* ширина кнопки в спрайте */ background-repeat: no-repeat; } .select .center{ background-position: left -40px; /* позиционируем спрайт */ background-repeat: repeat-x; width: 150px; } </style> <div style="text-align: center;"> <span class="select"><span class="left"><span class="button"><span class="center"></span></span></span><br> <select> <option>————</option> <option>11111111</option> <option>22222222</option> <option>33333333</option> <option>44444444</option> </select> <p> </p></span></div> <p>Заметили? Именно!!! Вот так же я однажды сидел и выравнивал размеры селекта и обратил внимание, что даже если сам селект полупрозрачный его выпадающая част будет видна, а сам он остается кликабельным и активным в форме. И остается только сделать селект полностью прозрачным и прикрутить обработчик небольшой на клик и изменение у селекта:</p> <pre><code class="css"><<span class="css__element">select</span> <br> <span class="css__element">onclick</span>="$(<span class="css__element">this</span>)<span class="css__class">.parent</span>()<span class="css__class">.find</span>('<span class="css__class">.center</span>') <br> <span class="css__class">.html</span>(<span class="css__element">this</span><span class="css__class">.options</span>[<span class="css__element">this</span><span class="css__class">.selectedIndex</span>]<span class="css__class">.text</span>)" <br> <span class="css__element">onchange</span>="$(<span class="css__element">this</span>)<span class="css__class">.parent</span>()<span class="css__class">.find</span>('<span class="css__class">.center</span>') <br> <span class="css__class">.html</span>(<span class="css__element">this</span><span class="css__class">.options</span>[<span class="css__element">this</span><span class="css__class">.selectedIndex</span>]<span class="css__class">.text</span>)" <br>></code></pre> <div style="text-align: center;"> <span class="select"><span class="left"><span class="button"><span class="center">————</span></span></span><br> <select onclick="$(this).parent().find('.center').html(this.options[this.selectedIndex].text)" onchange="$(this).parent().find('.center').html(this.options[this.selectedIndex].text)" class="transparent"> <option>————</option> <option>11111111</option> <option>22222222</option> <option>333333333</option> <option>44444444</option> </select> <p> </p></span></div> <p>Собственно, все.</p> </div>