РАН

РАН
Рейтинг
43
Регистрация
20.04.2016

Вы тут скорее хотите реализовать что-то вроде пхп роутинга через фронт контроллер.

Принцип:

Все запросы идут через index.php, там удобным вам образом подключается роутер, который разбивает ваш url на параметры (можно написать простейший в несколько строк для Ваших нужд). У вас везде ссылки вида /article/1..n, /blog/1..n

1..n - Ваш id, article - Нужный пых файл. Роутер их распознает и подключает нужный файл и передает id в функцию.

я впервые слышу, а разве можно это отменить? имею ввиду именно body. Просто переопределять эти свойства по усмотрению в подэлементах. Если делать это неудобно, то стоит пересмотреть те свойства которые вы задаете родительским элементам.

SeoNk:
В переменной x есть код:

<div id="str">Текст 1</div>
<div id="str">Текст 2</div>
<div id="str">Текст 3</div>

Я пытаюсь разбить его на массив, чтобы в каждом эллементе массива было по одному блоку.
Делаю следующим образом:

x = x.match(/<div class=\"str\">(.+)<\/div>/g)

На выходе получаю массив с одним элементом:

x[0] = '<div id="str">Текст 1</div>
<div id="str">Текст 2</div>
<div id="str">Текст 3</div>'

Т.е. учитывается самый первый открывающий тег и самый последний закрывающий.

Скажите, как прописать регулярное выражение, чтобы разбить массив на 3 элемента:

x[0] = '<div id="str">Текст 1</div>'
x[1] = '<div id="str">Текст 2</div>'
x[2] = '<div id="str">Текст 3</div>'

Спасибо!

Как вариант:


x = x.match(/<div class=\"str\">([^<]+)<\/div>/g)

У Вас тут дело в том, что строка полостью подходит под ваш шаблон, т.е.

x[0] = '<div id="str">(Текст 1</div>

<div id="str">Текст 2</div>

<div id="str">Текст 3) == (.+)</div>'

Подскажите как в вывести описание?</a> </div> <div class="comment__date"> <time datetime="2016-10-21T07:51Z" datetime-type="datetime">21 октября 2016, 07:51</time> </div> </div> <div class="comment__content" id="content14735563"> <div class="fquote"><strong><span style="color:#0077cc;">Sitealert:</span></strong><br>Да у него по ходу ничего из этого объекта не выводится, из того, что в коде написано. <br> <br>---------- Добавлено 21.10.2016 в 10:48 ---------- <br> <br> Особенно с учётом допустимого количества знаков в description.</div><p>Так тогда тем более нужно ковырять контроллер на наличие данных.</p> </div> </div> <div class="comment"> <div class="comment__info"> <div class="comment__topic"> <i class="ui-icons ui-icons_topic-read"></i> <a href="/ru/forum/946907#comment_14735557" title="чат для сайта">чат для сайта</a> </div> <div class="comment__date"> <time datetime="2016-10-21T07:48Z" datetime-type="datetime">21 октября 2016, 07:48</time> </div> </div> <div class="comment__content" id="content14735557"> <p>Чатик для сайта делал и не единожды, вариантов реализаций немало. Можно node + redis + mysql + php.</p> <p>Примерно так все происходит:</p> <p>При отправке сообщения юзером, оно пишется в редис и mysql, а также отдается на ноду, чтобы раскидать уведомление остальным юзерам, чтобы они увидели сообщение. Дергаем сообщения из редиса если они там есть, если нет, дергаем с Mysql (для надежности). Если сильной важности в чате нет Mysql можно исключить или еще больше ограничить. Т.е. не писать туда каждый раз, а кроном собирать сообщения с редиса раз в промежуток, но есть опасность потери данных.</p> <p>Делал также вариант без ноды - просто ajax, ставим репит раз в 2 секунды, запрос к php а там уже смотрим также редис или Mysql<br><br>---------- Добавлено 21.10.2016 в 10:49 ----------<br><br>Также забыл сказать, можно использовать rabbitmq для очередей. У самого руки не дошли, но вроде как очереди в таком варианте должны обеспечивать большую стабильность.</p> </div> </div> <div class="comment"> <div class="comment__info"> <div class="comment__topic"> <i class="ui-icons ui-icons_topic-read"></i> <a href="/ru/forum/947017#comment_14735550" title="div > таблица. нужна помощь">div > таблица. нужна помощь</a> </div> <div class="comment__date"> <time datetime="2016-10-21T07:44Z" datetime-type="datetime">21 октября 2016, 07:44</time> </div> </div> <div class="comment__content" id="content14735550"> <p>Может я что-то недопонял half - Td, а вот line_g, line_w - tr</p> <p>По поводу position:absolute можно попробовать порезать на фон</p> </div> </div> <div class="comment"> <div class="comment__info"> <div class="comment__topic"> <i class="ui-icons ui-icons_topic-read"></i> <a href="/ru/forum/947090#comment_14735540" title="Подскажите CMS - каталога/рейтинга">Подскажите CMS - каталога/рейтинга</a> </div> <div class="comment__date"> <time datetime="2016-10-21T07:39Z" datetime-type="datetime">21 октября 2016, 07:39</time> </div> </div> <div class="comment__content" id="content14735540"> <p>Вообще можно юзать что угодно, также есть скрипт каталога cncat. Я для содержания нескольких подобных сайтов на 1 движке писал самопис на симфонии2. Т.е. гурбо говоря каждый отдельный каталог - запись в базе и все что относится к нему тоже. Движок един и может обслуживать большое количество таких сайтов. Поставить разделитель по городам - просто.</p> <p>На Modx можно также сделать пространства имен и в зависимости от поддомена выдавать нужный</p> </div> </div> <div class="comment"> <div class="comment__info"> <div class="comment__topic"> <i class="ui-icons ui-icons_topic-read"></i> <a href="/ru/forum/947123#comment_14735534" title="Не скроллятся и не открываются блоки виджетов в WordPress">Не скроллятся и не открываются блоки виджетов в WordPress</a> </div> <div class="comment__date"> <time datetime="2016-10-21T07:35Z" datetime-type="datetime">21 октября 2016, 07:35</time> </div> </div> <div class="comment__content" id="content14735534"> <p>По скрину сложно, диз вообще такое ощущение что вы в админке вп. Посмотрите какие ошибки кидает консоль бразуера. А также стили плавающего блока, мб он просто Position:fixed.</p> </div> </div> <div class="comment"> <div class="comment__info"> <div class="comment__topic"> <i class="ui-icons ui-icons_topic-read"></i> <a href="/ru/forum/947119#comment_14735530" title="Множество поддоменов ведущих на основной сайт">Множество поддоменов ведущих на основной сайт</a> </div> <div class="comment__date"> <time datetime="2016-10-21T07:32Z" datetime-type="datetime">21 октября 2016, 07:32</time> </div> </div> <div class="comment__content" id="content14735530"> <p>Есть такой опыт, в днс нужно указать перенаправление всех поддоменов на сервер. Если у Вас nginx, то все решается паттернами довольно просто. В случае с апачем я точно не помню. Делал на фаствпсе через фастпанель</p> </div> </div> <div class="comment"> <div class="comment__info"> <div class="comment__topic"> <i class="ui-icons ui-icons_topic-read"></i> <a href="/ru/forum/947040#comment_14735525" title="дубли изображений вордпресс">дубли изображений вордпресс</a> </div> <div class="comment__date"> <time datetime="2016-10-21T07:30Z" datetime-type="datetime">21 октября 2016, 07:30</time> </div> </div> <div class="comment__content" id="content14735525"> <p>у Вас проблемы с местом на сервере/хостинге? Если таковых нет, то советую не запариваться по этому вопросу, т.к. обычно миниатюры все же полезны (если размер картинки соответствует выводимому это улучшает <a href="https://www.finteza.com/ru/website-analytics/webmaster-tools" target="_blank" title="Инструменты для вебмастера" class="linkator__link"><span class="linkator__mark">скорость загрузки</span></a> старницы). плагины наверняка есть, но если таковых не найдется можно написать простенький пхп скриптик и поставить на крон. Он будет сам все подчищать.</p> </div> </div> </div> </form> <div class="paginator"> <a class="paginator__page" href="/ru/users/1107254/comments">1</a> <a class="paginator__page" href="/ru/users/1107254/comments/page2">2</a><a class="paginator__page" href="/ru/users/1107254/comments/page3">3</a><a class="paginator__page" href="/ru/users/1107254/comments/page4">4</a><a class="paginator__current-page" href="#" onclick="return false;">5</a><a class="paginator__page" href="/ru/users/1107254/comments/page6">6</a><a class="paginator__page" href="/ru/users/1107254/comments/page7">7</a> <a class="paginator__page" href="/ru/users/1107254/comments/page8">8</a> </div> <div class="paginator__total"> <text>Всего: 72</text> </div> </div> <div class="tabs__content " id="content_topics"> </div> <div class="tabs__content" id="content_articles"> </div> <div class="tabs__content" id="content_favorites"> </div> <div class="tabs__content" id="content_sysinfo"> </div> </div> </div> </div> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"ProfilePage","dateCreated":"2016-04-20T18:06:05.0000000Z","mainEntity":{"@type":"Person","name":"РАН","url":"https://searchengines.guru/ru/users/1107254","image":"d.searchengines.guru/avatar/1107000/1107254_1.png","address":{"@type":"PostalAddress","addressCountry":"Россия"},"sameAs":["/go?link=https://twitter.com/Ran_Web_St"]}} </script> </div> </div> <div class="page-footer" id="footer"> <div class="page-footer__columns"> <div class="page-footer__columns-item page-footer__columns-forum"> <ul class="page-footer__subcategories"><li><a href="/ru/forum/search-engines">Поисковые системы</a></li><li><a href="/ru/forum/optimization-practices">Практика оптимизации</a></li><li><a href="/ru/forum/website-advertisement">Трафик для сайтов</a></li><li><a href="/ru/forum/website-monetization">Монетизация сайтов</a></li><li><a href="/ru/forum/development">Сайтостроение</a></li><li><a href="/ru/about/rules">Правила форума</a></li></ul> </div> <div class="page-footer__columns-item page-footer__columns-articles"> <ul class="page-footer__subcategories"><li><a href="/ru/articles/mobile">Мобильные технологии</a></li><li><a href="/ru/articles/interview">Интервью</a></li><li><a href="/ru/articles/seo">SEO</a></li><li><a href="/ru/articles/ad-technology">Рекламные технологии</a></li><li><a href="/ru/articles/analytics">Веб-аналитика</a></li></ul> </div> <div class="page-footer__columns-item page-footer__columns-news"> <ul class="page-footer__subcategories"><li><a href="/ru/news/seo">SEO</a></li><li><a href="/ru/news/social">Социальные сети</a></li><li><a href="/ru/news/analytics">Веб-аналитика</a></li><li><a href="/ru/news/media">Интернет и медиа</a></li><li><a href="/ru/news/ecommerce">eCommerce</a></li></ul> </div> <div class="page-footer__columns-item"> <div class="page-footer__copyright"> <ul class="page-footer__subcategories"> <li><div class="page-footer__copyright-about"><a href="/ru/about">О проекте</a></div></li> <li><div class="page-footer__copyright-terms"><a href="/ru/about/terms">Условия использования</a></div></li> <li><div class="page-footer__copyright-security"><a href="/ru/about/security">Политика конфиденциальности данных</a></div></li> <li><div class="page-footer__copyright-cookies"><a href="/ru/about/cookies">Политика в отношении cookie-файлов</a></div></li> <li><div class="page-footer__copyright-security"><a href="/ru/about/autopayments">Соглашение о реккурентных платежах</a></div></li> <li><div class="page-footer__copyright-contact"><a href="/ru/contact">Контакты и обращения</a></div></li> <li> 35 Dodekanisou str, Germasogeia, 4043, Limassol, Cyprus </li> <li class="qa-copyright"> © <span class="qa-copyright-date">2000-2025</span>, <a class="page-footer__copyright-company" href="https://www.metaquotes.net/ru" target="_blank">MetaQuotes Ltd.</a> </li> </ul> </div> </div> </div> </div> <script type="text/javascript"> (function(a,e,f,g,b,c,d){a[b]||(a.FintezaCoreObject=b,a[b]=a[b]||function(){(a[b].q=a[b].q||[]).push(arguments)},a[b].l=1*new Date,c=e.createElement(f),d=e.getElementsByTagName(f)[0],c.async=!0,c.defer=!0,c.src=g,d&&d.parentNode&&d.parentNode.insertBefore(c,d))}) (window,document,"script","https://searchengines.guru/fz/core.js","fz"); fz("register", "website", { id: "gylresdaaaenlcgoyigvffvmpbymkvszke", trackHash: true, trackLinks: true, timeOnPage: true }); </script> <script data-type="translate" type="application/json">{"cookies":{"accept":"Сайт использует cookie-файлы. Узнайте больше о нашей <a href=\"/ru/about/cookies\" target=\"_blank\">политике по использованию cookie-файлов</a>."},"cancel":"Отмена","ok":"Ok","errorOccured":"Произошла ошибка","lightBox":{"close":"Закрыть","collapse":"Свернуть","showOriginal":"Показать оригинал","errorLoading":"Невозможно загрузить вложение","next":"Следующий","previous":"Предыдущий","save":"Сохранить","linkToImg":"Ссылка на изображение"},"chat":{"closeChat":"Закрыть переписку","title":"Чаты","close":"Закрыть","notsupport":"Ваша версия браузера не поддерживается","attachFileTitle":"Прикрепить файл","sendMessageTitle":"Ответить","searchUserPlaceholder":"Часть имени или логин","errorOccuredMessage":"Произошла ошибка. Пожалуйста, повторите попытку позже.","unreadMessages":"Непрочитанные сообщения","message":"Сообщение","send":"Отправить","emptyResultMessages":"Здесь пока нет сообщений","emptyResultSearch":"К сожалению, по вашему запросу ничего не найдено","errorEmptyMessage":"Сообщение не может быть пустым","errorLongMessage":"Длина сообщения не должна превышать {0} символов","chooseChat":"Пожалуйста, выберите чат или создайте новый.","deleteChat":"Удалить","delete":"Удалить","deleteChatConfirm":"Вы действительно хотите удалить чат?","newChat":"Создать чат","systemYouInvited":"Вас пригласили в чат {0}","systemUserInvited":"{0} пригласил(а) {1}","systemChatUserRemoved":"{0} исключил(а) {1} из чата","systemChannelUserRemove":"{0} исключила(а) {1} из канала","systemChannelPrivate":"{0} сделал(а) канал приватным","systemChannelPublic":"{0} сделал(а) канал публичным","systemChatLimited":"{0} сделала(а) чат ограниченным","systemChatUnlimited":"{0} снял(а) ограничения с чата","systemChatClosed":"{0} закрыл(а) чат","systemChannelClosed":"Канал закрыт","systemChatRename":"{0} изменил(а) название чата на {1}","systemChannelRename":"Название чата изменено на {0}","systemChatCreate":"{0} создал чат {1}","systemChannelCreate":"Создан канал {0}","systemChatUserLeft":"{0} покинул(а) чат","systemChatReopened":"{0} переоткрыл(а) чат","systemChannelReopened":"Канал снова открыт","countUsers":"{0} участников","leaveChat":"Покинуть чат","inviteChat":"Добавить участников","open":"Открыть","emptyAddMember":"Чтобы добавить новых участников, воспользуйтесь поиском","admin":"Администратор","moderator":"Модератор","edit":"Правка","changeChat":"Правка"}}</script><script type="text/javascript"> mqGlobal.AddOnLoad(function() { window.components.paginator.setHotKeysPaginator("/ru/users/1107254/comments/page4","/ru/users/1107254/comments/page6"); }); </script> <script type="text/javascript"> window.mqGlobal.CurrentLanguage = 'ru'; window.mqGlobal.HostName = 'searchengines.guru'; window.mqGlobal.Uniq = ''; window.mqGlobal.AddOnReady(function() { if(window.self === window.top) { // панель политика по использованию cookie-файлов. components.cookieAccept(Translations.get('cookies.accept'), 'cookie_accept'); } });</script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Organization", "url": "https://searchengines.guru", "logo": "https://d.searchengines.guru/i/logo_se.png", "sameAs": [ "https://www.facebook.com/Searchengines.ru", "https://www.twitter.com/search_news" ] } </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "name": "Searchengines.guru", "url": "https://searchengines.guru", "potentialAction": { "@type": "SearchAction", "target": "https://searchengines.guru/ru/search?keyword={keyword}", "query-input": "required name=keyword" } } </script> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"ItemList","itemListElement":[{"@type":"SiteNavigationElement","name":"Статьи","url":"/ru/articles","position":1},{"@type":"SiteNavigationElement","name":"Новости ","url":"/ru/news","position":2},{"@type":"SiteNavigationElement","name":"Форум","url":"/ru/forum","position":3}]} </script> </body> </html>