<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054421</guid>
        <pubDate>Fri, 30 Dec 2011 12:55:12 +0000</pubDate>
        <title>Определить декларацию класса</title>
        <link>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054421</link>
        <description><![CDATA[Serafim: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348384&view=findpost&p=3054331'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>negram &#064; <time class="tag-quote__quoted-time" datetime="2011-12-30T10:28:04+00:00">30.12.11, 10:28</time></span><div class='quote '>ещё оффтоп</div></div><br>
етить колотить&#33; о_0 <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-12-30T16:56:01+04:00">30.12.11, 12:56</time></span></span><br>
Хотя как петя наследует васю - тоже страшно :lol:]]></description>
        <author>Serafim</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054331</guid>
        <pubDate>Fri, 30 Dec 2011 10:28:04 +0000</pubDate>
        <title>Определить декларацию класса</title>
        <link>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054331</link>
        <description><![CDATA[negram: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348384&view=findpost&p=3054312'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serafim &#064; <time class="tag-quote__quoted-time" datetime="2011-12-30T09:57:54+00:00">30.12.11, 09:57</time></span><div class='quote '>А откуда кириллица? о0</div></div> <div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">ещё оффтоп :)</div><div class="body"><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;?php</div><div class="code_line">class вася {</div><div class="code_line">&nbsp;&nbsp; &nbsp;function кстроке() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return get_class($this);</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;function __tostring()</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return $this-&#62;кстроке();</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">class петя extends вася</div><div class="code_line">{</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">$дима = new петя;</div><div class="code_line">print($дима.&quot;\n&quot;); // петя</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script></div></div>]]></description>
        <author>negram</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054312</guid>
        <pubDate>Fri, 30 Dec 2011 09:57:54 +0000</pubDate>
        <title>Определить декларацию класса</title>
        <link>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054312</link>
        <description><![CDATA[Serafim: Сдлал так, вроде всё пашет :)<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">class([a-zA-Z\s]+)([extends|implements]\s+[a-zA-Z0-9\\s\t\n]*)*{</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-12-30T09:59:45+00:00">30.12.11, 09:59</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348384&view=findpost&p=3054309'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>domencom &#064; <time class="tag-quote__quoted-time" datetime="2011-12-30T09:57:13+00:00">30.12.11, 09:57</time></span><div class='quote '>#class(&#092;s+[a-z&#092;&#092;_а-я&#092;s]+&#092;s*){#i</div></div><br>
А откуда кириллица? о0<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348384&view=findpost&p=3054311'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>negram &#064; <time class="tag-quote__quoted-time" datetime="2011-12-30T09:57:36+00:00">30.12.11, 09:57</time></span><div class='quote '>token_get_all</div></div><br>
О как&#33; Офигенная функция, не знал, спасибо :) <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-12-30T10:05:45+00:00">30.12.11, 10:05</time></span></span><br>
Пока что вопрос решён]]></description>
        <author>Serafim</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054311</guid>
        <pubDate>Fri, 30 Dec 2011 09:57:36 +0000</pubDate>
        <title>Определить декларацию класса</title>
        <link>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054311</link>
        <description><![CDATA[negram: <div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">offtop</div><div class="body"><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">$tokens = token_get_all(file_get_contents(&#39;class.php&#39;));</div><div class="code_line">&nbsp;</div><div class="code_line">foreach($tokens as &nbsp;$tok) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if ($tok[0] == T_CLASS) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var_dump($tok);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">}</div></ol></div></div></div></div></div></div>]]></description>
        <author>negram</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054309</guid>
        <pubDate>Fri, 30 Dec 2011 09:57:13 +0000</pubDate>
        <title>Определить декларацию класса</title>
        <link>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054309</link>
        <description><![CDATA[domencom: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#class(\s+[a-z\_а-я\s]+\s*){#i</div></ol></div></div></div></div>]]></description>
        <author>domencom</author>
        <category>RegExp</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054302</guid>
        <pubDate>Fri, 30 Dec 2011 09:47:03 +0000</pubDate>
        <title>Определить декларацию класса</title>
        <link>https://forum.sources.ru/index.php?showtopic=348384&amp;view=findpost&amp;p=3054302</link>
        <description><![CDATA[Serafim: Требуется в любом файле определить наличие декларации или деклараций классов.<br>
Пробовал регулярки вроде:<br>
class(.*?)(extends|implements|{) - глючит, ошибается на HTML коде и строках, вроде: &#036;reflector = new &#092;ReflectionClass(&#036;this);<br>
class([a-zA-Z0-9_&#092;&#092;&#092;s&#092;n&#092;t])*{ - вообще ничего не находит.<br>
<br>
Шаблон такой:<br>
Вначале &quot;<strong class='tag-b'>class</strong>&quot; (обязательно), затем <strong class='tag-b'>буквы</strong> (обязательно) и символы &quot;<strong class='tag-b'>_</strong>&quot;, &quot;<strong class='tag-b'>&#092;</strong>&quot;, <strong class='tag-b'>цифры</strong>, <strong class='tag-b'>пробелы</strong>, <strong class='tag-b'>табы</strong>, <strong class='tag-b'>переносы </strong>строки (не обязательно) и наконец символ &quot;<strong class='tag-b'>{</strong>&quot; (обязательно).<br>
<br>
Т.е. должно выдирать все декларации вида:<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Class Ololo{</div></div><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>class ololo extends asdasd {</div></div><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>class ololol implements &#092;system&#092;base <br>
{</div></div><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>class ololol <br>
    extends &#092;system&#092;base <br>
{</div></div>]]></description>
        <author>Serafim</author>
        <category>RegExp</category>
      </item>
	
      </channel>
      </rss>
	