- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Друзья, помогите!
Голова кипит уже, не могу понять в чем причина не срабатывания регулярки при внутренних данных HTML. Если данные без HTML все срабатывает.
Дано:
||<li>Английский</li>
||[SHUFTXT]<li>Испански</li>
||<li>Чешский</li>
||<li>Украинский</li>[/SHUFTXT]
[/SHUFTXT]";
Обработка:
preg_match_all($regular, $page, $matches);
var_dump($matches[1]);die();
Укажите где в регулярке не хватает чего?
Друзья, помогите!
Голова кипит уже, не могу понять в чем причина не срабатывания регулярки при внутренних данных HTML. Если данные без HTML все срабатывает.
Дано:
Обработка:
Укажите где в регулярке не хватает чего?
Я конечно нуб в php но может кавычки сменить на '
$regular = "@\[SHUFTXT\]([^\[SHUFTXT\]\[\/SHUFTXT\]]+)\[\/SHUFTXT\]@smi";
$regular = "@\[SHUFTXT\]([^\[SHUFTXT\]\[\/SHUFTXT\]]+)\[\/SHUFTXT\]@smi";
Спасибо, но с добавлением модификаторов все равно ничего не происходит, массив все также пустой, я уже пробовал. Что то во внутренней регулярке не так, как выяснил не срабатывает если есть коды </tag>.
Тест можно сделать здесь http://www.uvsoftium.ru/php/regexp.php
А что конкретно вам нужно вытащить отсюда?
||<li>Английский</li>
||[SHUFTXT]<li>Испански</li>
||<li>Чешский</li>
||<li>Украинский</li>[/SHUFTXT]
[/SHUFTXT]";
А что конкретно вам нужно вытащить отсюда?
+1
Что вы хотите получить?
+1
Что вы хотите получить?
Перемешать входящие данные в этих макросах, также и из вложенных.
Перемешать входящие данные в этих макросах, также и из вложенных.
Перемешать? По русски говорите. Какие ещё макросы?
Вы что хотите достать? ТЗ поставьте нормально.
---------- Добавлено 29.08.2015 в 21:36 ----------
Нужно то что, внутри вторых SHUFTXT?
$regular = "@\[SHUFTXT\].*?\[SHUFTXT\](.*?)\[/SHUFTXT\].*\[/SHUFTXT\]@smi";
Как я понял, ТС хочет регуляркой вытащить все что между всеми макросами [SHUFTXT] и [/SHUFTXT], затем взять все что вытащил и перемешать, но тут проблема скорее во вложенности одних макросов в другие.
Перемешать? По русски говорите. Какие ещё макросы?
Вы что хотите достать? ТЗ поставьте нормально.
---------- Добавлено 29.08.2015 в 21:36 ----------
Нужно то что, внутри вторых SHUFTXT?
$regular = "@\[SHUFTXT\].*?\[SHUFTXT\](.*?)\[/SHUFTXT\].*\[/SHUFTXT\]@smi";
Я не расписывал потому как думал что и так будет понятно.
Распишу, нужно получить данные из [SHUFTXT]тут данные[/SHUFTXT], но [SHUFTXT] иногда может содержать внутри себя еще [SHUFTXT]тут данные [SHUFTXT]тут данные[/SHUFTXT] [/SHUFTXT] (вложеный), регулярка должна была брать сначала внутрение, если нет внутренних то внешний
пример работающего регулярного выражения
$page = "{<li>Русский
||<li>Английский
||{<li>Испански</div>
||<li>Чешский</div>
||<li>Украинский</div>}
}";
$regular = "@\{([^\{\}]+)\}@smi";
preg_match_all($regular, $page, $matches);
print_r($matches);die();
пример полностью рабочий с этими разделителями, а вот с моими [SHUFTXT] не пашет, вот в чем соль не пойму.
Попробуйте вот так: https://regex101.com/r/mX4nO3/1
Изначальная регулярка не работает, потому что в список запрещенных занесен символ "/", который используется в закрывающих тэгах li.