|  20.06.2014 / 04:35 |  | 
| samogost    Пользователь 
  Сейчас: Offline 
 Имя: СергейОткуда: Липецк
 Регистрация: 05.11.2013
 
 | JSBmanD, $files=scandir('/tmp');эта функция возвращает список файлов и каталогов в данной папке.
 
 Изменено samogost (20.06 / 04:35) (всего 1 раз)
 | 
|  20.06.2014 / 12:20 |  | 
| HoldFast    Пользователь 
  Сейчас: Offline 
 Имя: АндрейОткуда: Великие Луки
 Регистрация: 18.04.2011
 
 | А, сорри, я не внимательный__________________
 
   Да, детка, я - Король Ящериц!!! | 
|  20.06.2014 / 13:50 |  | 
| Naik    Пользователь 
  Сейчас: Offline 
 Имя: %name%Регистрация: 14.03.2010
 
 | А что означает знак вопроса и равно в этом выражении? $regexp = "/(\"(?=[^\"\n]*\w)[^\"\n]+\"|'(?=[^'\n]*\w)[^'\n]+')/";
Изменено Naik (20.06 / 13:54) (всего 3 раза)
 | 
|  20.06.2014 / 14:16 |  | 
| Ксакеп    Модератор форума 
  Сейчас: Offline 
 Регистрация: 20.06.2012
 | Для самопроверки: http://regex101.com Что-то вроде проверки условия, что далее находится подстрока, указанная после знака равенства. Но вообще, не думаю, что эта задача решается с использованием регулярок.Изменено Ксакеп (20.06 / 14:18) (всего 1 раз)
 | 
|  20.06.2014 / 15:01 |  | 
| Naik    Пользователь 
  Сейчас: Offline 
 Имя: %name%Регистрация: 14.03.2010
 
 | Вобщем с помощью гугла написал такое  $regexp = "/\"(?=[^\"\n]*)[^\"\n]*\"|'(?=[^'\n]*)[^'\n]*'/";
Находит строки 'abc' и "abc" нормально, осталось экранирование как-то распознать Еще нужно распознавание коментов исправить, сейчас такое $exp = "/\\*(?:.|[\\n\\r])*?\\*/|//.*|#.*";
все находит нормально, кроме $string = "trylala http://annimon.com"; //annimon.com определяет комментарием  Изменено Naik (20.06 / 15:07) (всего 1 раз)
 | 
|  20.06.2014 / 15:24 |  | 
| web_demon   Супервизор 
  Сейчас: Offline 
 Регистрация: 11.01.2010
 | Naik, кинь примеры которые нужно парсить, а которые нет. Как по мне ты юзаешь через чур раздутые регулярки.
 | 
|  20.06.2014 / 16:12 |  | 
| Naik    Пользователь 
  Сейчас: Offline 
 Имя: %name%Регистрация: 14.03.2010
 
 | web_demon, все возможные скрипты, для подсветки кода, вот код на java, которым разбираю пхп-код Открыть спойлер Закрыть спойлер package ua.naiksoftware.phprunner.editor.language; import java.util.regex.*;import ua.naiksoftware.phprunner.editor.*; public class PHP extends Language {         private static final PatternColorPair keywords = new PatternColorPair(Pattern.compile(                                                                   "\\b((a(bstract|nd|rray|s))|(c(a(llable|se|tch)|l(ass|one)|on(st|tinue)))|"                                                                 + "(d(e(clare|fault)|ie|o))|(e(cho|lse(if)?|mpty|nd(declare|for(each)?|if|switch|while)|val|x"                                                                 + "(it|tends)))|(f(inal|or(each)?|unction))|(g(lobal|oto))|(i(f|mplements|n(clude(_once)?|"                                                                 + "st(anceof|eadof)|terface)|sset))|(n(amespace|ew))|(p(r(i(nt|vate)|otected)|ublic))|"                                                                 + "(re(quire(_once)?|turn))|(s(tatic|witch))|(t(hrow|r(ait|y)))|(u(nset|se))|"                                                                 + "(__halt_compiler|break|list|(x)?or|var|while))\\b", Pattern.CASE_INSENSITIVE), SourceEditor.COLOR_KEYWORD);         private static final PatternColorPair dividers = new PatternColorPair(Pattern.compile("\\[|\\]|\\+|\\-|\\<|\\>|\\|\\!|\\&|\\||=|\\)|\\(|\\}|\\{|\\*|\\?php|\\?\\>|::|\\!"), SourceEditor.COLOR_BUILTIN);         private static final PatternColorPair builtins = new PatternColorPair(Pattern.compile(                                                                   "\\b(md5|query|real_escape_string|strval|intval|strlen|header|trim|abs|define|"                                                                 + "session_start|session_name|strpos|print|print\\_r|printf|substr|htmlspecialchars)\\b", Pattern.CASE_INSENSITIVE), SourceEditor.COLOR_BUILTIN);// and other 1800th :)         private static final PatternColorPair vars = new PatternColorPair(Pattern.compile("\\$[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*"), SourceEditor.COLOR_VAR);         private static final PatternColorPair literals = new PatternColorPair(Pattern.compile(                                                                   "\\b(\\d*[.]?\\d+)\\b|(\"(?=[^\"\n]*)[^\"\n]*\"|'(?=[^'\n]*)[^'\n]*')|true|false"), SourceEditor.COLOR_LITERAL);         private static final PatternColorPair comments = new PatternColorPair(Pattern.compile(                                                                   "/\\*(?:.|[\\n\\r])*?\\*/|//.*|#.*"), SourceEditor.COLOR_COMMENT);     private static final PatternColorPair[] patterns = new PatternColorPair[] {keywords, dividers, builtins, vars, literals, comments};    public PatternColorPair[] getPatternColorPairs() {        return patterns;    }}
Изменено Naik (20.06 / 16:22) (всего 2 раза)
 | 
|  20.06.2014 / 18:17 |  | 
| vl@volk    Пользователь 
  Сейчас: Offline 
 Имя: ВладиславОткуда: Земля
 Регистрация: 26.12.2012
 
 | Naik, это на js, но ты поймешь.__________________
 
   знает толк
 Прикрепленные файлы:  syntaxhighlight(…).zip  (174.32 кб.) Скачано 27 раз  | 
|  20.06.2014 / 20:55 |  | 
| samogost    Пользователь 
  Сейчас: Offline 
 Имя: СергейОткуда: Липецк
 Регистрация: 05.11.2013
 
 | Скажите, насколько сложно сделать свой небольшой движок на пхп?
 | 
|  20.06.2014 / 21:28 |  | 
| Naik    Пользователь 
  Сейчас: Offline 
 Имя: %name%Регистрация: 14.03.2010
 
 | vl@volk,  Что-то ничего не понимаю, экранирование подсвечивает правильно, а сами выражения вроде не предусматривают этого (в java вообще срабатывает на весь текст — там же точка..) — doubleQuotedString			: /"([^\\"\n]|\\.)*"/g
 singleQuotedString			: /'([^\\'\n]|\\.)*'/g
 
 Изменено Naik (20.06 / 21:30) (всего 1 раз)
 |