Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2012, 19:10   #1
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию регулярные выражения

Добрый день, я с регулярками особо не знаком, по-этому возникли проблемы с их описанием. Не могли бы пожалуйста объяснить, что я делаю не так:
Код:
$str='[task an=one at=2][question]Кто мудак[/question][a]1[/a][a]2[/a][a]3[/a][a]5[/a][/task]';
if(preg_match_all("/([task *])([a-zA-Z0-9][а-яА-я0-9])([/d*task])/",$str,$mathes)){
	print_r($mathes);
}
И как нужно правильно и почему.
И да в метках question и a могут быть и html теги(
CodeNOT вне форума Ответить с цитированием
Старый 12.02.2012, 02:01   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Видео: Эдуард Шустров. Регулярные выражения
......................
Очень полезное видео.
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 12.02.2012, 14:00   #3
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Хм, спасибо за видео, теперь у меня появился другой вопрос. я в конце концов вырезал то, что мне нужно, но столкнулся с другой проблемой
Код:
<?php
$str='{task an=one at=2}{question}Кто мудак{/question}{a}1{/a}{a}2{/a}{a}3{/a}{a}5{/a}{/task}
	  {task an=one at=3}{question}Кто мудак{/question}{a}1{/a}{a}2{/a}{a}3{/a}{a}5{/a}{/task}';

if(preg_match_all("/\{task .*\}.*\{\/task\}/",$str,$matches)){
	var_dump($matches);
}
?>
если переменная $str имеет такой вид, то я все вырезаю корректно, т.е. массив $matches содержит в каждом индексе нужные мне строки с {task}
а вот когда стр имеет следующий вид:
Код:
$str='{task an=one at=2}{question}Кто мудак{/question}{a}1{/a}{a}2{/a}{a}3{/a}{a}5{/a}{/task}{task an=one at=3}{question}Кто мудак{/question}{a}1{/a}{a}2{/a}{a}3{/a}{a}5{/a}{/task}';
То я получаю все строку в одном индексе, где я туплю?
CodeNOT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярные выражения NewMan123 Помощь студентам 8 04.11.2020 20:23
Регулярные выражения flame33 PHP 1 30.08.2011 12:07
Регулярные выражения Vanta11a Помощь студентам 2 05.05.2011 12:44
Регулярные выражения Syltan JavaScript, Ajax 3 24.04.2010 23:08
Регулярные выражения Marsik Помощь студентам 4 14.11.2009 14:13