powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) preg_match_all - не могу составить выражение
15 сообщений из 15, страница 1 из 1
(PHP) preg_match_all - не могу составить выражение
    #33524956
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
preg_match_all("#\#(.*?)\n#",
    "$code_color",
    $arr_comment);
Цель - отловить коммены типа "#"
Вышенаструганное выражение ловит прекрасно выражения вида
Код: plaintext
1.
# коммент
текст    # коммент
но на строке типа
######## коммент #########
выдаст такое
######## коммент #########

(разукрашивается потом - тут, для наглядности)
Игры с "U" ничё не дають...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33526348
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм... без идей...
значит придётся их в отдельный массив дёргать...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33526911
PantiL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<?
$str = "########Комента#########";
$pattern = "^[#*](.*)[#*]$";
if(ereg($pattern, $str))
{
                echo "eto kommenti";
}
?>
У меня вот так получилось, вроде бы.....
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33527058
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не канает... Или я не смог его переделать под preg_match_all....
На данный момент докатился до такого состояния
Код: plaintext
1.
2.
preg_match_all("#\#(.*?)#U", 
    "$code_color", 
    $arr_comment);
Дальше не получается...
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33527064
PantiL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
preg_match_all - это функция для работы с Perl совместимыми рег. выражениями, поэтому выражение составленное мной не будет работать в этой функции.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?
$str = "Обрабатываемая строка";
$pattern = "^[#*](.*)[#*]$";
if(ereg($pattern, $str, $arr))
{
                //В массиве $arr по идее должны быть все комменты
                foreach($arr as $val)
                 {
                    echo $val."<br>";
                  }
}
?>
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33527080
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лиссяра, ну ты маньяк-извращенец...
Зачем в шаблоне, в котором явно будет использоваться символ '#' брать его же в качестве разделителя?
По сути вопроса посоветовать в данный момент ничего не могу, извини, работа срочная.
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33527085
PantiL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<?
$pattern = "(^#*.*#*$)";
$str = "#####comment#####";
if(ereg($pattern, $str, $arr))
{
		echo $arr[ 1 ];
}
?>
Вот так ловит коменнту, но дело в том что если искать сразу по всему тексту, то даже тот текс который находится между двумя комментами, тоже удовлетворяет условиям данного рег. выражения. Поэтому придется обрабатывать текст построчно.
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33527104
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 DocAl
Ну извини - я так привык. по другому невоспринимаю вообще....
А вообще, и с ними со скрипом

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33527137
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 PantiL
да я знаю... Я идею привернуть пытался, а не воткнуть как есть....

Кстати eregi мне не подходит по причине, что они, вроде работают медленней, чем
перл-совместимые.... Итаак 90% времени при генерации страницы - это подсветка кода... Я
уже проверку даже встроил - есть лли код если есть - раскрашиваем, если нет - то нет,
чтоб вхолостую не гонять десяток регулярных выражений по х.з. скольким массивам....

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33527142
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе, кстати, как обычно, важен сам процесс или решение -- тоже сойдёт?)
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33527144
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно - процесс :)
Но - если получилось решение, - моральное удовлетворение становится совсем полным....

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33527154
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Погляди таки пример: http://www.php.net/source.php?url=/source.php
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33527156
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
невкурил, тока, к чему пример-то?
Как пхп подсветить? Знаю - http://php.rinet.ru/manual/ru/function.highlight-string.php
но для shell не канает - на первом же переносе строки, типа
Код: plaintext
1.
строка \
продолжеие строки
вылетит в трубу... Оно слишком близко к сердцу код туда запихиваемый воспринимает... Как
будто ошибки в нём - это ошибки в скрипте на исполнение.....

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33533564
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки что - нету идей?
Пока в некотором роде последовал указанной идее - разбил скрипт на куски - в зависимости от типа кода по разному красит - php, perl - штатными средствами ,остальное - сам...
Вот для остального с комментами идея всё-таки нужна...
...
Рейтинг: 0 / 0
(PHP) preg_match_all - не могу составить выражение
    #33538484
ap99ap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема-то в чем?
Изначальный регексп нормально находит комментарии.
Вот вариант, который к тому же нормально воспринимает последний комментарий в файле (без финального перевода строки):
Код: plaintext
1.
2.
3.
preg_match_all("#\#.*(\n|$)#",
    $code,
    $arr_comment);

После выполнения в $arr_comment[0] будет массив со всеми найденными комментариями.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) preg_match_all - не могу составить выражение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]