ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #671  
Старый 07.09.2009, 19:35
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

imajo.ati Перед и после - желательно чтобы стоял пробельный символ:
PHP код:
$str ' asddasd asd asd sd sads ad asdas a /* hello */ world! /* 123 */ asds adsa dasdas das';
echo 
preg_replace('#\s/\*[\s\S]*?\*/\s#','',$str); 
Но можно и без него ессесн:
PHP код:
$str '/* hello */ world! /* 123 */';
echo 
preg_replace('#/\*[\s\S]*?\*/#','',$str); 
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием

  #672  
Старый 07.09.2009, 19:40
Аватар для FireFenix
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

Репутация: 389
По умолчанию

PHP код:
<?php

$text 
'
/*
абабаббабаб
*/
тут код проги
/** ещё один камент **/
текст
/***
 ещё один глупый камент 
 ***/
здесь могла быть ваша реклама!'
;

$result preg_replace('/(\/\*.*?\*\/)*/ims'''$text);

echo(
$result);

?>
мой вариант +)
 
Ответить с цитированием

  #673  
Старый 07.09.2009, 23:11
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Цитата:
Сообщение от imajo.ati  
может кто подскажет способ получше?
Тебе нужен парсер. Если, конечно, в твои планы не входит бить код, потому что регулярные выражения всё равно будут фейлить.
Пример:
Код:
$pictures = glob('images/*');
/* Комментарий */
process($pictures);
 
Ответить с цитированием

  #674  
Старый 08.09.2009, 10:05
Аватар для imajo.ati
imajo.ati
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
Провел на форуме:
975514

Репутация: 177
По умолчанию

astrologer,
спасибо за замечание, я уже был в курсе этого, когда просил регулярное выражение.

в планы входит сначала заменить все строки в тексте на что-то такое:
%STRING_000001_(md5_заменённой_стро и)_(случайное_число_прохода _парсера)%
а потом удалить все комментарии.

может быть выскажешь свои мысли по этому поводу? будет ли это работать?
 
Ответить с цитированием

  #675  
Старый 09.09.2009, 01:10
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Цитата:
Сообщение от imajo.ati  
в планы входит сначала заменить все строки в тексте на что-то такое:
%STRING_000001_(md5_заменённой_стро и)_(случайное_ число_прохода_парсера)%
а потом удалить все комментарии.
Не получится, причём по той же причине (выяснение которой, как всегда, остается читателю).

P.S.
Цитата:
/(\/\*.*?\*\/)*/ims
Цитата:
#\s/\*[\s\S]*?\*/\s#
Код:
~/[*](?:[^*]++|[*](?![*]))*[*]/~
 
Ответить с цитированием

  #676  
Старый 11.09.2009, 16:06
Аватар для KaMiKadZe
KaMiKadZe
Участник форума
Регистрация: 24.02.2006
Сообщений: 206
Провел на форуме:
2735257

Репутация: 103
По умолчанию

PHP код:
$str "http://localhost/#qwerty=text#aaa22";
preg_match_all ('/=(.*)#aaa(.*)/',$str,$arr); 
Даст
text
22

Но если строка $str = "http://localhost/#qwerty=text";
Ничего не выдаст, как сделать так чтобы выдавало? =)
 
Ответить с цитированием

  #677  
Старый 11.09.2009, 16:16
Аватар для FireFenix
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

Репутация: 389
По умолчанию

Цитата:
Сообщение от KaMiKadZe  
PHP код:
$str "http://localhost/#qwerty=text#aaa22";
preg_match_all ('/=(.*)#aaa(.*)/',$str,$arr); 
Даст
text
22

Но если строка $str = "http://localhost/#qwerty=text";
Ничего не выдаст, как сделать так чтобы выдавало? =)
PHP код:
<?php

$str 
"http://localhost/#qwerty=text"

preg_match_all ('/=(.*)#aaa(.*)|=(.*)/',$str,$arr);

print_r($arr);

?>
$match[1] и $match[2] - где 2 аргумента
$match[3] - где 1 аргумент
 
Ответить с цитированием

  #678  
Старый 12.09.2009, 23:46
Аватар для m0Hze
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

PHP код:
$test ':0.4.5.14.25:1.18.28:2.3.22.31:6.13.15.20.24.27:7.30:8.9.19.21:10.12.17:11.26:16:23:29:'
Необходимо вытащить все вхождения:
:цыферки:
Получаеться только через 1
// Неактуально,но хочеться увидеть регексп,для общего.

Последний раз редактировалось m0Hze; 12.09.2009 в 23:48..
 
Ответить с цитированием

  #679  
Старый 12.09.2009, 23:53
Аватар для FireFenix
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

Репутация: 389
По умолчанию

Цитата:
Сообщение от m0Hze  
PHP код:
$test ':0.4.5.14.25:1.18.28:2.3.22.31:6.13.15.20.24.27:7.30:8.9.19.21:10.12.17:11.26:16:23:29:'
Необходимо вытащить все вхождения:
:цыферки:
Получаеться только через 1
// Неактуально,но хочеться увидеть регексп,для общего.
PHP код:
<?php

$test 
':0.4.5.14.25:1.18.28:2.3.22.31:6.13.15.20.24.27:7.30:8.9.19.21:10.12.17:11.26:16:23:29:';  

$regex '/\:([\.\d]+)/';

preg_match_all($regex$test$match);

print_r($match);

?>
p.s. поправил. Спасибо Gift =)

или вначале убираем с концов ':' и через explode(':', $test);

Последний раз редактировалось FireFenix; 13.09.2009 в 01:49..
 
Ответить с цитированием

  #680  
Старый 13.09.2009, 01:15
Аватар для Gifts
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

m0Hze
PHP код:
$str ':0.4.5.14.25:1.18.28:2.3.22.31:6.13.15.20.24.27:7.30:8.9.19.21:10.12.17:11.26:16:23:29:';
preg_match_all('#(?<=:)[^:]+(?=:)#si',$str,$res);
var_dump($res);
// Или если обрамляющего текста нет, то вообще так:
preg_match_all('#[^:]+#si',$str,$res);
var_dump($res); 
FireFenix Опять таки, ваша регулярка будет через раз одно числа получать
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Delphi, .NET, Asm 6762 17.06.2010 21:23
[ *NIX ] Задай вопрос - получи ответ. Xszz *nix 1547 15.06.2010 15:41
[Lan] Задай вопрос - получи ответ! sedoy_xxx АнтиАдмин 133 31.03.2010 08:35
Всё о беспороводном соединении на кпк и смартфонах! Задай вопрос - получи ответ! ARMENIN Беспроводные технологии/WPAN/WLAN 2 02.11.2008 00:40
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ