<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Deerua about Coding: последние заметки с тегом &amp;laquo;php&amp;raquo;</title><link>http://deer.org.ua/keywords/php/</link><description></description><language>ru</language><generator>e2 (http://blogengine.ru/)</generator><item><title>Лучший xml2array</title><guid isPermaLink="true">http://deer.org.ua/2010/06/20/1/</guid><link>http://deer.org.ua/2010/06/20/1/</link><comments>http://deer.org.ua/2010/06/20/1/comments/</comments><description>Немного наобламывавшись с &lt;a href="http://deer.org.ua/2009/09/04/1/" linkredir=""&gt;предыдущим парсером&lt;/a&gt;, решил поискать что-то получше. Просмотрев с 50 парсеров, которые тупо не могли справится с моим примером xml, я таки нашёл тот, который это сделал очень быстро и без проблем.&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-reserved"&gt;function &lt;/span&gt;&lt;span class="hl-identifier"&gt;xml2array&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;&amp;amp;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;string&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {&lt;/span&gt;&lt;span class="hl-code"&gt;
    $&lt;/span&gt;&lt;span class="hl-identifier"&gt;parser&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;xml_parser_create&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-identifier"&gt;xml_parser_set_option&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;parser&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;XML_OPTION_CASE_FOLDING&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-identifier"&gt;xml_parse_into_struct&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;parser&lt;/span&gt;&lt;span class="hl-code"&gt;, $&lt;/span&gt;&lt;span class="hl-identifier"&gt;string&lt;/span&gt;&lt;span class="hl-code"&gt;, $&lt;/span&gt;&lt;span class="hl-identifier"&gt;vals&lt;/span&gt;&lt;span class="hl-code"&gt;, $&lt;/span&gt;&lt;span class="hl-identifier"&gt;index&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-identifier"&gt;xml_parser_free&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;parser&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
    $&lt;/span&gt;&lt;span class="hl-identifier"&gt;mnary&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;;
    $&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-code"&gt;=&amp;amp;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;mnary&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-identifier"&gt;foreach &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;vals as&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {&lt;/span&gt;&lt;span class="hl-code"&gt;
        $&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-code"&gt;=$&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;tag&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
        &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;type&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;==&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;open&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
            &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;isset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
                &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;isset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;][&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;][]&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-reserved"&gt;else&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
                $&lt;/span&gt;&lt;span class="hl-identifier"&gt;cv&lt;/span&gt;&lt;span class="hl-code"&gt;=&amp;amp;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;][&lt;/span&gt;&lt;span class="hl-identifier"&gt;count&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-code"&gt;-&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
            &lt;/span&gt;&lt;span class="hl-brackets"&gt;} &lt;/span&gt;&lt;span class="hl-reserved"&gt;else&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;cv&lt;/span&gt;&lt;span class="hl-code"&gt;=&amp;amp;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
            &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;isset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;attributes&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {&lt;/span&gt;&lt;span class="hl-identifier"&gt;foreach &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;attributes&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;] &lt;/span&gt;&lt;span class="hl-identifier"&gt;as&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;k&lt;/span&gt;&lt;span class="hl-code"&gt;=&amp;gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;v&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;cv&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;_a&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;][&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;k&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;=$&lt;/span&gt;&lt;span class="hl-identifier"&gt;v&lt;/span&gt;&lt;span class="hl-code"&gt;;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;span class="hl-code"&gt;
            $&lt;/span&gt;&lt;span class="hl-identifier"&gt;cv&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;_c&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;;
            $&lt;/span&gt;&lt;span class="hl-identifier"&gt;cv&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;_c&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;][&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;_p&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;=&amp;amp;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-code"&gt;;
            $&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-code"&gt;=&amp;amp;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;cv&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;_c&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
        &lt;/span&gt;&lt;span class="hl-brackets"&gt;} &lt;/span&gt;&lt;span class="hl-identifier"&gt;elseif &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;type&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;==&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;complete&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
            &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;isset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-brackets"&gt;) { &lt;/span&gt;&lt;span class="hl-comment"&gt;// same as open
                &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;isset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;][&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;][]&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-reserved"&gt;else&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
                $&lt;/span&gt;&lt;span class="hl-identifier"&gt;cv&lt;/span&gt;&lt;span class="hl-code"&gt;=&amp;amp;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;][&lt;/span&gt;&lt;span class="hl-identifier"&gt;count&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-code"&gt;-&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
            &lt;/span&gt;&lt;span class="hl-brackets"&gt;} &lt;/span&gt;&lt;span class="hl-reserved"&gt;else&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;cv&lt;/span&gt;&lt;span class="hl-code"&gt;=&amp;amp;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;t&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
            &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;isset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;attributes&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {&lt;/span&gt;&lt;span class="hl-identifier"&gt;foreach &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;attributes&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;] &lt;/span&gt;&lt;span class="hl-identifier"&gt;as&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;k&lt;/span&gt;&lt;span class="hl-code"&gt;=&amp;gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;v&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;cv&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;_a&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;][&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;k&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;=$&lt;/span&gt;&lt;span class="hl-identifier"&gt;v&lt;/span&gt;&lt;span class="hl-code"&gt;;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
            
            &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;isset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;value&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;cv&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;_v&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt; = $&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;value&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
        &lt;/span&gt;&lt;span class="hl-brackets"&gt;} &lt;/span&gt;&lt;span class="hl-identifier"&gt;elseif &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;r&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;type&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;==&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;close&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {&lt;/span&gt;&lt;span class="hl-code"&gt;
            $&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-code"&gt;=&amp;amp;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;_p&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
        &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
    }    
    
    &lt;/span&gt;&lt;span class="hl-identifier"&gt;_del_p&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;mnary&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;return&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;mnary&lt;/span&gt;&lt;span class="hl-code"&gt;;
&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
&lt;/span&gt;&lt;span class="hl-reserved"&gt;function &lt;/span&gt;&lt;span class="hl-identifier"&gt;_del_p&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;&amp;amp;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
    &lt;/span&gt;&lt;span class="hl-identifier"&gt;foreach &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary as&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;k&lt;/span&gt;&lt;span class="hl-code"&gt;=&amp;gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;v&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
        &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;k&lt;/span&gt;&lt;span class="hl-code"&gt;===&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;_p&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;) &lt;/span&gt;&lt;span class="hl-identifier"&gt;unset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;k&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-code"&gt;;
        &lt;/span&gt;&lt;span class="hl-identifier"&gt;elseif &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;is_array&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;k&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-brackets"&gt;) &lt;/span&gt;&lt;span class="hl-identifier"&gt;_del_p&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;ary&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;k&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Последняя функция удаляет результаты рекурсий ;)&lt;br /&gt;&lt;br /&gt;&lt;ul class="r1pxc"&gt; 
&lt;li&gt;&lt;a target="_blank" rel="nofollow" href="http://mysrc.blogspot.com/2007/02/php-xml-to-array-and-backwards.html"&gt;
&lt;b&gt;Сайт автора&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;&lt;br&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2010/06/20/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/php/"&gt;php&lt;/a&gt;</description><pubDate>Sun, 20 Jun 2010 16:57:19 +0200</pubDate></item><item><title>Сравнение таблиц в двух БД (и больше)</title><guid isPermaLink="true">http://deer.org.ua/2010/06/09/1/</guid><link>http://deer.org.ua/2010/06/09/1/</link><comments>http://deer.org.ua/2010/06/09/1/comments/</comments><description>&lt;blockquote&gt;Когда дохера работы, начинаешь страдать такой ерундой :)&lt;/blockquote&gt;Раз в несколько месяцев приходится сравнивать БД, и каждый раз в ручную. Один даже раз софт сутки искал, но он ужасен, весь. Немного пострадав, минут 30, получился такой код:&lt;ul&gt;&lt;li&gt;собираем всё в масcив;&lt;/li&gt;&lt;li&gt;выводим всё красиво в табличках;&lt;/li&gt;&lt;li&gt;подключаем jQ и делаем удобную "обёрточку";&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;li&gt;Profit&lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;&lt;span class="hl-inlinetags"&gt;&amp;lt;?php
  &lt;/span&gt;&lt;span class="hl-var"&gt;$user&lt;/span&gt;&lt;span class="hl-code"&gt;  = &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;root&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-var"&gt;$userp&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-identifier"&gt;mysql_connect&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;localhost&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-var"&gt;$user&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-var"&gt;$userp&lt;/span&gt;&lt;span class="hl-brackets"&gt;) &lt;/span&gt;&lt;span class="hl-reserved"&gt;or die&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;mysql_error&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-var"&gt;$table2compare&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;test1&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;test2&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-var"&gt;$comparedtables&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-var"&gt;$i&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;foreach &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$table2compare &lt;/span&gt;&lt;span class="hl-reserved"&gt;as &lt;/span&gt;&lt;span class="hl-var"&gt;$tablename&lt;/span&gt;&lt;span class="hl-brackets"&gt;){
  	&lt;/span&gt;&lt;span class="hl-var"&gt;$comparedtables&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;title&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;][&lt;/span&gt;&lt;span class="hl-var"&gt;$i&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-var"&gt;$tablename&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-var"&gt;$db&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;mysql_query&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;SHOW TABLES IN &lt;/span&gt;&lt;span class="hl-var"&gt;$tablename&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;while&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$dbt&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;mysql_fetch_array&lt;/span&gt;&lt;span class="hl-brackets"&gt;( &lt;/span&gt;&lt;span class="hl-var"&gt;$db &lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-brackets"&gt;){
      &lt;/span&gt;&lt;span class="hl-var"&gt;$table&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;mysql_query&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;SHOW COLUMNS FROM &lt;/span&gt;&lt;span class="hl-var"&gt;$dbt&lt;/span&gt;&lt;span class="hl-string"&gt;[0] FROM &lt;/span&gt;&lt;span class="hl-var"&gt;$tablename &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
      &lt;/span&gt;&lt;span class="hl-reserved"&gt;while&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$tbf&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;mysql_fetch_array&lt;/span&gt;&lt;span class="hl-brackets"&gt;( &lt;/span&gt;&lt;span class="hl-var"&gt;$table &lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-brackets"&gt;)
      	&lt;/span&gt;&lt;span class="hl-var"&gt;$comparedtables&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;tables&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;][&lt;/span&gt;&lt;span class="hl-var"&gt;$dbt&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;]][&lt;/span&gt;&lt;span class="hl-var"&gt;$i&lt;/span&gt;&lt;span class="hl-brackets"&gt;][]&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-var"&gt;$tbf&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
    &lt;/span&gt;&lt;span class="hl-var"&gt;$i&lt;/span&gt;&lt;span class="hl-code"&gt;++;
  &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;echo &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;for &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$j&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-var"&gt;$j&lt;/span&gt;&lt;span class="hl-code"&gt; &amp;lt; &lt;/span&gt;&lt;span class="hl-var"&gt;$i&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-var"&gt;$j&lt;/span&gt;&lt;span class="hl-code"&gt;++&lt;/span&gt;&lt;span class="hl-brackets"&gt;) 
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;echo &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-var"&gt;$comparedtables&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;title&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;][&lt;/span&gt;&lt;span class="hl-var"&gt;$j&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;echo &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;foreach &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$comparedtables&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;tables&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;] &lt;/span&gt;&lt;span class="hl-reserved"&gt;as &lt;/span&gt;&lt;span class="hl-var"&gt;$table&lt;/span&gt;&lt;span class="hl-code"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="hl-var"&gt;$fields&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;echo &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;for &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$j&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-var"&gt;$j&lt;/span&gt;&lt;span class="hl-code"&gt; &amp;lt; &lt;/span&gt;&lt;span class="hl-var"&gt;$i&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-var"&gt;$j&lt;/span&gt;&lt;span class="hl-code"&gt;++&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$j&lt;/span&gt;&lt;span class="hl-code"&gt; &amp;gt; &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;) &lt;/span&gt;&lt;span class="hl-var"&gt;$eq&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-var"&gt;$fields&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-var"&gt;$j&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt; == &lt;/span&gt;&lt;span class="hl-var"&gt;$fields&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-reserved"&gt;else &lt;/span&gt;&lt;span class="hl-var"&gt;$eq&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;true&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;echo &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;td valign='top' &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;!&lt;/span&gt;&lt;span class="hl-var"&gt;$eq&lt;/span&gt;&lt;span class="hl-code"&gt; ? &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;style='background: #fcc;'&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt; : &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;empty&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$fields&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-var"&gt;$j&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-brackets"&gt;) &lt;/span&gt;&lt;span class="hl-reserved"&gt;continue&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;echo &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;span&amp;gt;&lt;/span&gt;&lt;span class="hl-var"&gt;$table&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;table rules=all frame=box cellpadding='2'&amp;gt;
            &amp;lt;tr&amp;gt;
            	&amp;lt;td&amp;gt;Field&amp;lt;/td&amp;gt;
            	&amp;lt;td&amp;gt;Type&amp;lt;/td&amp;gt;
            	&amp;lt;td&amp;gt;Null&amp;lt;/td&amp;gt;
            	&amp;lt;td&amp;gt;Key&amp;lt;/td&amp;gt;
            	&amp;lt;td&amp;gt;Default&amp;lt;/td&amp;gt;
            	&amp;lt;td&amp;gt;Extra&amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
  		&lt;/span&gt;&lt;span class="hl-reserved"&gt;foreach &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$fields&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-var"&gt;$j&lt;/span&gt;&lt;span class="hl-brackets"&gt;] &lt;/span&gt;&lt;span class="hl-reserved"&gt;as &lt;/span&gt;&lt;span class="hl-var"&gt;$field&lt;/span&gt;&lt;span class="hl-brackets"&gt;)
	      &lt;/span&gt;&lt;span class="hl-reserved"&gt;echo &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;tr&amp;gt;
	      				&amp;lt;td&amp;gt;&lt;/span&gt;&lt;span class="hl-var"&gt;$field&lt;/span&gt;&lt;span class="hl-string"&gt;[0]&amp;lt;/td&amp;gt;
	      				&amp;lt;td&amp;gt;&lt;/span&gt;&lt;span class="hl-var"&gt;$field&lt;/span&gt;&lt;span class="hl-string"&gt;[1]&amp;lt;/td&amp;gt;
	      				&amp;lt;td&amp;gt;&lt;/span&gt;&lt;span class="hl-var"&gt;$field&lt;/span&gt;&lt;span class="hl-string"&gt;[2]&amp;lt;/td&amp;gt;
	        			&amp;lt;td&amp;gt;&lt;/span&gt;&lt;span class="hl-var"&gt;$field&lt;/span&gt;&lt;span class="hl-string"&gt;[3]&amp;lt;/td&amp;gt;
	        			&amp;lt;td&amp;gt;&lt;/span&gt;&lt;span class="hl-var"&gt;$field&lt;/span&gt;&lt;span class="hl-string"&gt;[4]&amp;lt;/td&amp;gt;
	        			&amp;lt;td&amp;gt;&lt;/span&gt;&lt;span class="hl-var"&gt;$field&lt;/span&gt;&lt;span class="hl-string"&gt;[5]&amp;lt;/td&amp;gt;
	        		&amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
      &lt;/span&gt;&lt;span class="hl-reserved"&gt;echo &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;/table&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;echo &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
  
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;echo &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-identifier"&gt;mysql_close&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;;
&lt;/span&gt;&lt;span class="hl-inlinetags"&gt;?&amp;gt;&lt;/span&gt;
&lt;span class="hl-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;script type&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;text/javascript&lt;/span&gt;&lt;span class="hl-quotes"&gt;" &lt;/span&gt;&lt;span class="hl-identifier"&gt;src&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;http://code.jquery.com/jquery-1.4.2.min.js&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-identifier"&gt;script&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;script type&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;text/javascript&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&lt;/span&gt;
	$&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(){&lt;/span&gt;&lt;span class="hl-code"&gt;
	  $&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;table table&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;hide&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;;
	  $&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;table span&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;click&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(){&lt;/span&gt;&lt;span class="hl-code"&gt;
	  	$&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;next&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;next&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;toggle&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;;
	  &lt;/span&gt;&lt;span class="hl-brackets"&gt;})&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;css&lt;/span&gt;&lt;span class="hl-brackets"&gt;({&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;cursor&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;:&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;pointer&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;})&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-brackets"&gt;})&lt;/span&gt;&lt;span class="hl-default"&gt;;
&amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-identifier"&gt;script&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2010/06/09/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/mysql/"&gt;mysql&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/php/"&gt;php&lt;/a&gt;</description><pubDate>Wed, 09 Jun 2010 10:18:06 +0200</pubDate></item><item><title>PHP: Тырим погоду и пробки с яндекса :)</title><guid isPermaLink="true">http://deer.org.ua/2010/04/12/1/</guid><link>http://deer.org.ua/2010/04/12/1/</link><comments>http://deer.org.ua/2010/04/12/1/comments/</comments><description>Сам яндекс жадная сволочь, прямой ссылки не даёт на состояние пробок. Зато у него есть выджет для вин7, в котором я нашёл ссылку на нужный мне xml.&lt;br /&gt;&lt;pre&gt;http://export.yandex.ru/bar/reginfo.xml&lt;/pre&gt;&lt;br /&gt;Дальше что нам нужно? :)&lt;ol start="1"&gt;&lt;li&gt;&lt;a href="http://deer.org.ua/2009/09/04/3/" linkredir=""&gt;открываем наш файл&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://deer.org.ua/2009/09/04/2/" linkredir=""&gt;конвертируем в нашу любимую кодировку&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://deer.org.ua/2009/09/04/1/" linkredir=""&gt;xml бахаем в масив&lt;/a&gt;&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;li&gt;Профит&lt;/li&gt;&lt;/ol&gt;&lt;s&gt;ps: местоположение определяется автоматически, по айпи, что бы выбрать другой город, нужно пользоваться анонимными проксями, скорее всего ;)&lt;/s&gt;&lt;br /&gt;&lt;br /&gt;pps: немного покопавшись, секунд 5 :D нарыл всё нужное.&lt;br /&gt;Для определения региона нужна переменная &lt;b&gt;ncrnd&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;http://export.yandex.ru/bar/reginfo.xml?ncrnd=8412&lt;/pre&gt;&lt;br /&gt;Что бы получить код региона, у шмяндекса есть форма &lt;br /&gt;&lt;pre&gt;http://tune.yandex.ru/region/&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul class="r1pxc"&gt; 
&lt;li&gt;&lt;a target="_blank" href="http://deer.org.ua/samples/php/traffic.php"&gt;
&lt;b&gt;Посмотреть Пример&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://deer.org.ua/samples/php/traffic.phps"&gt;
&lt;b&gt;Содрать исходник&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2010/04/12/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/php/"&gt;php&lt;/a&gt;</description><pubDate>Mon, 12 Apr 2010 11:04:24 +0200</pubDate></item><item><title>PHP: выводим первые 3 предложения (можно любые 3)</title><guid isPermaLink="true">http://deer.org.ua/2010/03/14/1/</guid><link>http://deer.org.ua/2010/03/14/1/</link><comments>http://deer.org.ua/2010/03/14/1/comments/</comments><description>&lt;pre&gt;&lt;span class="hl-identifier"&gt;echo implode&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;&amp;quot;&lt;/span&gt;&lt;span class="hl-string"&gt;.&lt;/span&gt;&lt;span class="hl-quotes"&gt;&amp;quot;&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-identifier"&gt;array_slice&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;explode &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;&amp;quot;&lt;/span&gt;&lt;span class="hl-string"&gt;.&lt;/span&gt;&lt;span class="hl-quotes"&gt;&amp;quot;&lt;/span&gt;&lt;span class="hl-code"&gt;, $&lt;/span&gt;&lt;span class="hl-identifier"&gt;bigtext&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-number"&gt;3&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;Делим текст через точки на массив&lt;/li&gt;&lt;li&gt;Отрезаем первые 3 элемента массива&lt;/li&gt;&lt;li&gt;Делаем из массива обратно текст используя точку %)&lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2010/03/14/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/php/"&gt;php&lt;/a&gt;</description><pubDate>Sun, 14 Mar 2010 23:53:37 +0200</pubDate></item><item><title>php: первый и последний в массиве %)</title><guid isPermaLink="true">http://deer.org.ua/2010/02/24/1/</guid><link>http://deer.org.ua/2010/02/24/1/</link><comments>http://deer.org.ua/2010/02/24/1/comments/</comments><description>&lt;pre&gt;&lt;span class="hl-comment"&gt;// значения&lt;/span&gt;
&lt;span class="hl-default"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;first&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;reset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;
$&lt;/span&gt;&lt;span class="hl-identifier"&gt;last&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;end&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;
&lt;/span&gt;&lt;span class="hl-comment"&gt;// ключи&lt;/span&gt;
&lt;span class="hl-default"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;first&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;reset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;array_keys&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;
$&lt;/span&gt;&lt;span class="hl-identifier"&gt;last&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;end&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;array_keys&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2010/02/24/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/php/"&gt;php&lt;/a&gt;</description><pubDate>Wed, 24 Feb 2010 10:25:36 +0200</pubDate></item><item><title>PHP: in_string (аналог in_array)</title><guid isPermaLink="true">http://deer.org.ua/2009/12/21/1/</guid><link>http://deer.org.ua/2009/12/21/1/</link><comments>http://deer.org.ua/2009/12/21/1/comments/</comments><description>&lt;pre&gt;&lt;span class="hl-reserved"&gt;function &lt;/span&gt;&lt;span class="hl-identifier"&gt;in_string&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;needle&lt;/span&gt;&lt;span class="hl-code"&gt;, $&lt;/span&gt;&lt;span class="hl-identifier"&gt;haystack&lt;/span&gt;&lt;span class="hl-code"&gt;, $&lt;/span&gt;&lt;span class="hl-identifier"&gt;insensitive&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;insensitive&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;return &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;false&lt;/span&gt;&lt;span class="hl-code"&gt; !== &lt;/span&gt;&lt;span class="hl-identifier"&gt;stristr&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;haystack&lt;/span&gt;&lt;span class="hl-code"&gt;, $&lt;/span&gt;&lt;span class="hl-identifier"&gt;needle&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt; ? &lt;/span&gt;&lt;span class="hl-reserved"&gt;true&lt;/span&gt;&lt;span class="hl-code"&gt; : &lt;/span&gt;&lt;span class="hl-reserved"&gt;false&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-brackets"&gt;} &lt;/span&gt;&lt;span class="hl-reserved"&gt;else &lt;/span&gt;&lt;span class="hl-brackets"&gt;{
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;return &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;false&lt;/span&gt;&lt;span class="hl-code"&gt; !== &lt;/span&gt;&lt;span class="hl-identifier"&gt;strpos&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;haystack&lt;/span&gt;&lt;span class="hl-code"&gt;, $&lt;/span&gt;&lt;span class="hl-identifier"&gt;needle&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt; ? &lt;/span&gt;&lt;span class="hl-reserved"&gt;true&lt;/span&gt;&lt;span class="hl-code"&gt; : &lt;/span&gt;&lt;span class="hl-reserved"&gt;false&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
}	&lt;/span&gt;&lt;/pre&gt;Как видим, это просто &lt;i&gt;stristr&lt;/i&gt; и &lt;i&gt;strpos&lt;/i&gt; ;)&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/12/21/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/php/"&gt;php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/shpargalka/"&gt;шпаргалка&lt;/a&gt;</description><pubDate>Mon, 21 Dec 2009 15:49:56 +0200</pubDate></item><item><title>Утилит полезных пост 2</title><guid isPermaLink="true">http://deer.org.ua/2009/12/13/1/</guid><link>http://deer.org.ua/2009/12/13/1/</link><comments>http://deer.org.ua/2009/12/13/1/comments/</comments><description>Сегодня речь пойдёт о утилитах для Мускула (MySQL).&lt;br /&gt;Первая это php-утилита &lt;a href="http://sypex.net/ru/products/dumper/downloads/" target="_blank" rel="nofollow"&gt;Sypex Dumper&lt;/a&gt; &lt;span&gt;&amp;mdash;&lt;/span&gt; универсальный дампер БД  (сделан нашими ребятами)&lt;ul&gt;&lt;li&gt;можно просто и быстро создать резервную копию (бэкап, дамп)&lt;/li&gt;&lt;li&gt;работает очень быстро с огромными БД&lt;/li&gt;&lt;li&gt;есть куча фич (свой cmd, cron)&lt;/li&gt;&lt;/ul&gt;Вторая - javascript-утилита &lt;a href="http://code.google.com/p/wwwsqldesigner/" target="_blank" rel="nofollow"&gt;WWW SQL Designer&lt;/a&gt; - для создания структуры БД, установки связи между таблицами и всё это в удобном GUI&lt;ul&gt;&lt;li&gt;очень простая и удобная&lt;/li&gt;&lt;li&gt;установка - просто залил на сервер&lt;/li&gt;&lt;li&gt;сохранение/загрузка результатов&lt;/li&gt;&lt;li&gt;експорт в SQL и XML&lt;/li&gt;&lt;li&gt;в &lt;a href="http://ondras.zarovi.cz/sql/demo/?keyword=default" target="_blank" rel="nofollow"&gt;демке&lt;/a&gt; всё круто видно %)&lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/12/13/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/upp/"&gt;УПП&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/php/"&gt;php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/mysql/"&gt;mysql&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/shpargalka/"&gt;шпаргалка&lt;/a&gt;</description><pubDate>Sun, 13 Dec 2009 14:03:57 +0200</pubDate></item><item><title>Утилит полезных пост</title><guid isPermaLink="true">http://deer.org.ua/2009/12/11/1/</guid><link>http://deer.org.ua/2009/12/11/1/</link><comments>http://deer.org.ua/2009/12/11/1/comments/</comments><description>Первая это php-утилита &lt;a rel="nofollow" target="_blank" href="http://www.adminer.org/en/"&gt;Admiter&lt;/a&gt;&lt;ul&gt;&lt;li&gt;php MySQL Admin одним файлом, всегда мечтал ;)&lt;/li&gt;&lt;li&gt;умеет всё что нужно, но не такой мощный как PhpMyAdmin&lt;/li&gt;&lt;/ul&gt;Вторая это javascript-утилита &lt;a rel="nofollow" target="_blank" href="http://dillerdesign.com/experiment/DD_roundies/"&gt;DD_roundies&lt;/a&gt;&lt;ul&gt;&lt;li&gt;она от автора &lt;a href="http://deer.org.ua/2009/04/14/1/" linkredir=""&gt;супер PNG-fix&lt;/a&gt; для ИЕ6&lt;/li&gt;&lt;li&gt;css-selectors для выбора применяемых элементов&lt;/li&gt;&lt;li&gt;работает очень быстро и просто, одни бонусы :)&lt;/li&gt;&lt;li&gt;умеет за одно делать прозрачными png-рисунки&lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/12/11/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/php/"&gt;php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/mysql/"&gt;mysql&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/upp/"&gt;УПП&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/shpargalka/"&gt;шпаргалка&lt;/a&gt;</description><pubDate>Fri, 11 Dec 2009 13:13:08 +0200</pubDate></item><item><title>Сколько баблишка?</title><guid isPermaLink="true">http://deer.org.ua/2009/11/26/2/</guid><link>http://deer.org.ua/2009/11/26/2/</link><comments>http://deer.org.ua/2009/11/26/2/comments/</comments><description>&lt;table class="exmpl"&gt;
&lt;tbody&gt;&lt;tr&gt;
			&lt;th&gt;&lt;span id="currencer"&gt;Валюта&lt;/span&gt; в международном формате &lt;/th&gt;
			&lt;th&gt;Возможные вариации &lt;/th&gt;
			&lt;th&gt;Результат &lt;/th&gt;
		&lt;/tr&gt;
		&lt;tr&gt;

			&lt;td&gt;&lt;span class="caps"&gt;&lt;span class="caps"&gt;RUR&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;рублей, руб., &lt;span class="caps"&gt;&lt;span class="caps"&gt;RUR&lt;/span&gt;&lt;/span&gt;, &lt;span class="caps"&gt;&lt;span class="caps"&gt;RUB&lt;/span&gt;&lt;/span&gt;, rubles, р.&lt;/td&gt;
			&lt;td&gt; рублей&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;

			&lt;td&gt;&lt;span class="caps"&gt;&lt;span class="caps"&gt;UAH&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;гривен, гр. &lt;span class="caps"&gt;&lt;span class="caps"&gt;UAH&lt;/span&gt;&lt;/span&gt;, грн., &lt;/td&gt;
			&lt;td&gt;гривен&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;span class="caps"&gt;&lt;span class="caps"&gt;EUR&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;

			&lt;td&gt;евро, евр., просто значок ? перед или после цены, &lt;span class="caps"&gt;&lt;span class="caps"&gt;EUR&lt;/span&gt;&lt;/span&gt;, Euro, Evro (обрабатываем опечатки)&lt;/td&gt;
			&lt;td&gt;евро&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;&lt;span class="caps"&gt;&lt;span class="caps"&gt;USD&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
			&lt;td&gt;значок $, &lt;span class="caps"&gt;&lt;span class="caps"&gt;USD&lt;/span&gt;&lt;/span&gt;, долларов, у.е., зелёных :), dollar*, долар (опечатки)&lt;/td&gt;

			&lt;td&gt;долларов США&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;pre&gt;&lt;span class="hl-inlinetags"&gt;&amp;lt;?php
&lt;/span&gt;&lt;span class="hl-comment"&gt;/*************************************************************
* Функция определения валюты из строк вида "1000 рублей", "10 USD" и т. п.
* На входе строка, на выходе код валюты (RUR, USD, UAH, EUR)
* или false, если не удалось определить. 
* Также false выйдет если определилось несколько валют в строке.
* Автор функции - BrokenBrake.biz
*************************************************************/
&lt;/span&gt;&lt;span class="hl-reserved"&gt;function &lt;/span&gt;&lt;span class="hl-identifier"&gt;currencer&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$str&lt;/span&gt;&lt;span class="hl-brackets"&gt;)
{
	&lt;/span&gt;&lt;span class="hl-var"&gt;$pattern&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;RUR&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;/[^гГuU][рРRr][Уу\.uU]/u&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-var"&gt;$pattern&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;USD&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;/&lt;/span&gt;&lt;span class="hl-special"&gt;\\\$&lt;/span&gt;&lt;span class="hl-string"&gt;|[UuдД][sSnNоО]|[уУ][\.\s]*[еЕ]|[зЗ][еЕ]|[бБ][аА][кК][сС]/u&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-var"&gt;$pattern&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;EUR&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;/?|[eEЕе][UuВвvV]/u&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-var"&gt;$pattern&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;UAH&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;/[гГUu][AaрР]/u&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
	
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;foreach &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$pattern &lt;/span&gt;&lt;span class="hl-reserved"&gt;as &lt;/span&gt;&lt;span class="hl-var"&gt;$key&lt;/span&gt;&lt;span class="hl-code"&gt; =&amp;gt; &lt;/span&gt;&lt;span class="hl-var"&gt;$val&lt;/span&gt;&lt;span class="hl-brackets"&gt;)
	{
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;preg_match&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$val&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-var"&gt;$str&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-brackets"&gt;) &lt;/span&gt;&lt;span class="hl-var"&gt;$currency&lt;/span&gt;&lt;span class="hl-brackets"&gt;[]&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-var"&gt;$key&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;isset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$currency&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-brackets"&gt;]) &lt;/span&gt;&lt;span class="hl-reserved"&gt;OR&lt;/span&gt;&lt;span class="hl-code"&gt; !&lt;/span&gt;&lt;span class="hl-reserved"&gt;isset&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-var"&gt;$currency&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-reserved"&gt;return false&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;else return &lt;/span&gt;&lt;span class="hl-var"&gt;$currency&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
&lt;/span&gt;&lt;span class="hl-brackets"&gt;} &lt;/span&gt;&lt;span class="hl-comment"&gt;// echo currencer('1000 зелёных')
&lt;/span&gt;&lt;span class="hl-inlinetags"&gt;?&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;ul class="r1pxc"&gt; 
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://brokenbrake.biz/2009/11/26/currencer"&gt;
&lt;b&gt;Сайт автора&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;&lt;br&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/11/26/2/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/php/"&gt;php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/shpargalka/"&gt;шпаргалка&lt;/a&gt;</description><pubDate>Thu, 26 Nov 2009 23:59:06 +0200</pubDate></item><item><title>PHP: encoding detection (win1251, utf-8)</title><guid isPermaLink="true">http://deer.org.ua/2009/10/06/1/</guid><link>http://deer.org.ua/2009/10/06/1/</link><comments>http://deer.org.ua/2009/10/06/1/comments/</comments><description>Используя иконв и мд5чексум, мы по-порядку ищем нужную нам кодировку из масива допустимых кодировочек ;) Легко и просто!&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-reserved"&gt;function &lt;/span&gt;&lt;span class="hl-identifier"&gt;detect_encoding&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;string&lt;/span&gt;&lt;span class="hl-brackets"&gt;) { 
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;static&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;list&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;array&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;utf-8&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;windows-1251&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
 
  &lt;/span&gt;&lt;span class="hl-identifier"&gt;foreach &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;list as&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;item&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {&lt;/span&gt;&lt;span class="hl-code"&gt;
    $&lt;/span&gt;&lt;span class="hl-identifier"&gt;sample&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;iconv&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;item&lt;/span&gt;&lt;span class="hl-code"&gt;, $&lt;/span&gt;&lt;span class="hl-identifier"&gt;item&lt;/span&gt;&lt;span class="hl-code"&gt;, $&lt;/span&gt;&lt;span class="hl-identifier"&gt;string&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;md5&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;sample&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt; == &lt;/span&gt;&lt;span class="hl-identifier"&gt;md5&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;string&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-brackets"&gt;)
      &lt;/span&gt;&lt;span class="hl-reserved"&gt;return&lt;/span&gt;&lt;span class="hl-code"&gt; $&lt;/span&gt;&lt;span class="hl-identifier"&gt;item&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;return null&lt;/span&gt;&lt;span class="hl-code"&gt;;
&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/10/06/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/php/"&gt;php&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/php/iconv/"&gt;iconv&lt;/a&gt;</description><pubDate>Tue, 06 Oct 2009 13:03:46 +0200</pubDate></item></channel></rss>