[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярные выражения
bob marley
Первый блин как говорится..
вообще ничего не выводит этот код(проблема в preg_match()):

index.php


<?php
function
domain(){
$domain = parse_url($_SERVER['HTTP_HOST']);
return 'http://'.$domain['path'].'/';
}

$template = file_get_contents($domain.'template/index.tpl');
$key = preg_match('{'.'/^[A-Za-z0-9]/'.'}', $template);
echo $key['0'];



index.tpl



<html>
<head>
<title>
{TITLE} </title>
</head>
<body>

{CONTENT}
</body>
</html>





Спустя 2 минуты, 59 секунд (26.01.2012 - 22:03) bob marley написал(а):
Где я допустил ошибку?Где блинчик подгорел? biggrin.gif
Я экстрасенс..В регулярном выражении ошибка..Что-то там,я пятой точкой чую smile.gif

Спустя 2 минуты, 13 секунд (26.01.2012 - 22:05) bob marley написал(а):
Народ,я пошел спать!Завтра на учебу..Напишите в чем ошибка,только объясните!Молю вас, о боги программирования!

(подлизывался?нее..не слышал! biggrin.gif )

Спустя 1 минута, 12 секунд (26.01.2012 - 22:06) neadekvat написал(а):
Цитата (bob marley @ 26.01.2012 - 23:00)
$template = file_get_contents($domain.'template/index.tpl');

Что за хрень?
Подключать шаблоны надо из своей файловой системы, а не через http-запрос. Кроме того, шаблоны должны быть закрыты от прямого запроса.

И еще. Тут не нужны регулярные выражения.
$str = str_replace('{TITLE}', $title, $tpl);

Спустя 33 секунды (26.01.2012 - 22:07) neadekvat написал(а):
Цитата (bob marley @ 26.01.2012 - 23:03)
вырожения

И третье. Вырожден, но выражения.

Спустя 2 минуты, 38 секунд (26.01.2012 - 22:09) bob marley написал(а):
neadekvat
Да не кипетись.Я регулярки учу.
На шаблон 700 поставил и зашибись,прямая ссылочка!
Вот здесь я делал шаблонизатор:
http://phpforum.ru/index.php?showtopic=56666&st=0

Помоги с вопросом а..


Спустя 53 секунды (26.01.2012 - 22:10) bob marley написал(а):
neadekvat
какой-то ты негативный слушай!
я вообще не писал что здесь шаблонизатор,но сделал ошибочку,исправлю..
успокойся блин!

Спустя 3 минуты, 36 секунд (26.01.2012 - 22:14) bob marley написал(а):
Люди,я учу регулярку!!!
Просто взял файл шаблона!!!Это не шаблонизатор!Я не чайник!Шаблонизатор с закрытыми глазами напишу.С регуляркой помогите..в чем ошибочка вышла?

Спустя 46 минут, 54 секунды (26.01.2012 - 23:01) inpost написал(а):
Регулярка пишется по патернам, патерн должен обрамляться в начале и в конце одним символом.

Спустя 1 час, 59 минут, 32 секунды (27.01.2012 - 01:00) Winston написал(а):
Вообще-то preg_match возвращает
0 - в случае не успешной проверки
1 - в случае успешной проверки
Потому у тебя в $key будет либо 1 либо 0
А также нужно заякорять шаблон с помощью ^ $

И в твоем случае лучше использовать preg_match_all.

PS: у тебя написан полный бред blink.gif

Спустя 10 минут, 47 секунд (27.01.2012 - 01:11) inpost написал(а):
Winston
цифра - это количество найденных совпадений. 0 - нашло 0!, а 1 - нашло одно совпадение, а так как это не _алл, то на этом останавливается.

Спустя 4 минуты, 38 секунд (27.01.2012 - 01:16) Winston написал(а):
inpost
Ты прав ph34r.gif

Спустя 5 часов, 44 минуты, 34 секунды (27.01.2012 - 07:00) Commander Keen написал(а):
Цитата
Я не чайник!Шаблонизатор с закрытыми глазами напишу.

А мой папа - боксёр!

Спустя 7 часов, 50 минут, 8 секунд (27.01.2012 - 14:50) bob marley написал(а):
Winston
Я понимаю что бред. ph34r.gif
Короче поищу другой источник..Я читал где про регулярку,там вообще не понятно..Сейчас на php.su зайду..Там вроде нормально пишут,там по любе есть!
Пошел учится!

Спустя 4 часа, 58 минут, 4 секунды (27.01.2012 - 19:49) bob marley написал(а):
все :)
выучил!
кто-то говорил что шаблонизатор сделать нельзя будет!Вот вам(на зло):



<?php Error_Reporting('0');


function domain(){
$domain = parse_url($_SERVER['HTTP_HOST']);
return 'http://'.$domain['path'].'/';
}


function template(){
$template = file_get_contents($domain.'template/index.tpl');
preg_match_all('/\{([A-Za-z0-9]{1,15})\}/', $template, $keys);
for($n=0;$n<count($keys['0']);$n++)
{$name .= $keys['0'][$n].' | ';$file = file_get_contents(domain().'content/'.$keys['1'][$n].'.txt');$url = 'content/'.$keys['1'][$n].'.txt';

if(file_exists($url)){$content .= $file.' | ';}else{$content .= '<h4><font color="red">'.domain().$url.'</font> - нет этого файла(или он пустой) к модулю '.$keys['0'][$n].',создайте его!</h4> | ';}}
$name = explode(' | ', $name);
$content = explode(' | ', $content);
echo str_replace($name, $content, $template);
}


template();


место файлов,можно sql!

Спустя 1 час, 9 минут, 55 секунд (27.01.2012 - 20:58) Winston написал(а):
Цитата (bob marley @ 27.01.2012 - 18:49)
все smile.gif
выучил!

Монстр! biggrin.gif

Спустя 1 час, 3 минуты, 59 секунд (27.01.2012 - 22:02) bob marley написал(а):
Winston
biggrin.gif
А ты сомневался? wink.gif
Я монстр..Мего монстр laugh.gif
учить там и не чего в принципе..Я просо еле отрыл нормальную статью smile.gif

Спустя 5 минут, 50 секунд (27.01.2012 - 22:08) Winston написал(а):
Цитата (bob marley @ 27.01.2012 - 21:02)
учить там и не чего в принципе

Дааа? smile.gif
Тогда реши задачу №7
Из этой темы http://phpforum.su/index.php?showtopic=51743&st=0
biggrin.gif

Спустя 5 минут, 9 секунд (27.01.2012 - 22:13) bob marley написал(а):
Что там с датами надо сделать? biggrin.gif
Расшифруй ph34r.gif

Спустя 3 минуты, 11 секунд (27.01.2012 - 22:17) Winston написал(а):
Цитата (bob marley @ 27.01.2012 - 21:13)
Что там с датами надо сделать? 
Расшифруй 

Написать регулярку которая проверяет правильно ли введена дата. С учетом високосных годов и т.д.

Спустя 2 минуты, 51 секунда (27.01.2012 - 22:19) bob marley написал(а):
Цитата (Winston @ 27.01.2012 - 19:17)
С учетом високосных годов и т.д.

вот без учета могу biggrin.gif
Просто я сам не знаю когда високосный и тд ph34r.gif
Это не сложно.А если не правильная дата,писать что она не правильная..или чтобы код исправлял?! blink.gif

Спустя 15 минут, 40 секунд (27.01.2012 - 22:35) bob marley написал(а):
Winston

<?php
$array = array('0'=>'1352.01.01','1'=>'2000.02.29','2'=>'2001.02.29','3'=>'1989.04.31','4'=>'2010.13.05','5'=>'2011.11.32');
for($n=0;$n<count($array);$n++){
$pm = preg_match("/([1-9]{4})+\.+([1|2|3|4|5|6|7|8|9|10|11|12]{2})+\.+([1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31]{2})/", $array[$n]);
if($pm == TRUE){echo '<h4>Верно: <font color="red">'.$array[$n].'</font></h4>';}else{echo '<h4>Не верно: <font color="red">'.$array[$n].'</font></h4>';}
}



Спустя 3 минуты, 2 секунды (27.01.2012 - 22:38) Winston написал(а):
Посмотри на те даты которые в задании даны, зеленые - правильные, красные - нет. И сравни со своим результатом smile.gif

Спустя 1 минута, 12 секунд (27.01.2012 - 22:39) nugle написал(а):
bob marley
Ты проверял её ? она не рабочая

Упс, уже написали

Спустя 1 минута, 30 секунд (27.01.2012 - 22:41) bob marley написал(а):
в одном ошибка вышла.
аааа,я кажись вкурил...ща!!!

Спустя 1 минута, 23 секунды (27.01.2012 - 22:42) bob marley написал(а):
нее..нихрена не вкурил biggrin.gif
почему-то с одним не совпало.. 2000.02.29 вообще странно blink.gif

Спустя 4 минуты, 36 секунд (27.01.2012 - 22:47) bob marley написал(а):
Вывод: надо ещё почитать литературки smile.gif

Спустя 1 минута, 16 секунд (27.01.2012 - 22:48) nugle написал(а):
bob marley
а что странного? ты 0 в проверку не включил, вот он и дает отриц. результат

Спустя 2 минуты, 18 секунд (27.01.2012 - 22:50) bob marley написал(а):
nugle
я попробывал 0 включить!Так у меня скрипт выдал сразу что все верно biggrin.gif biggrin.gif biggrin.gif biggrin.gif

Спустя 1 минута, 9 секунд (27.01.2012 - 22:52) nugle написал(а):
так его надо по другому организовать)

Спустя 1 минута, 7 секунд (27.01.2012 - 22:53) bob marley написал(а):
Короче почитаю ещё и ещё раз попробую biggrin.gif
я сам mad.gif !не подсказывай smile.gif


_____________
伊戈尔
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.