<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум компьютерной помощи &mdash; PHP. Импорт комментариев из XML бэкапа Wordpress на форум vbulletin.]]></title>
	<link rel="self" href="http://itpmr.ru/extern.php?action=feed&amp;tid=907&amp;type=atom" />
	<updated>2015-04-28T19:29:33Z</updated>
	<generator>PunBB</generator>
	<id>http://itpmr.ru/viewtopic.php?id=907</id>
		<entry>
			<title type="html"><![CDATA[Re: PHP. Импорт комментариев из XML бэкапа Wordpress на форум vbulletin.]]></title>
			<link rel="alternate" href="http://itpmr.ru/viewtopic.php?pid=124306#p124306" />
			<content type="html"><![CDATA[<p>Вариант на основе регулярных выражений:</p><div class="codebox"><pre><code>$SUPER = array();
 
echo &quot;&lt;br&gt;Чтение XML контента из файла бэкапа Wordpress&lt;br&gt;&lt;br&gt;&quot;;
$xml = file_get_contents(&#039;wordpress.2015-04-28.xml&#039;);
 
preg_match_all(&#039;#&lt;wp:comment&gt;(.*?)&lt;/wp:comment&gt;#si&#039;, $xml, $mtchd1);
foreach($mtchd1[0] as $microdata){
       
       
        preg_match(&#039;#&lt;wp:comment_content&gt;&lt;!\[CDATA\[(.*?)\]\]&gt;&lt;/wp:comment_content&gt;#si&#039;, $microdata, $mtch);
        preg_match(&#039;#&lt;wp:comment_id&gt;(.*?)&lt;/wp:comment_id&gt;#si&#039;, $microdata, $mtchID);
        $SUPER[] = &#039;ID =&gt; &#039;.$mtchID[1].&#039; TEXT =&gt; &#039;.$mtch[1];
       
 
}
var_dump($SUPER);</code></pre></div>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>http://itpmr.ru/profile.php?id=2</uri>
			</author>
			<updated>2015-04-28T19:29:33Z</updated>
			<id>http://itpmr.ru/viewtopic.php?pid=124306#p124306</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[PHP. Импорт комментариев из XML бэкапа Wordpress на форум vbulletin.]]></title>
			<link rel="alternate" href="http://itpmr.ru/viewtopic.php?pid=124305#p124305" />
			<content type="html"><![CDATA[<p>Есть XML файл бэкапа блога на Wordpress. В нем один пост с тысячьб комментариев.<br />Хочу его залить на форум vbulletin 3.7.</p><p>Вот пример, что есть в XML файле:<br /></p><div class="codebox"><pre><code>&lt;item&gt;
&lt;title&gt;Новости&lt;/title&gt;
&lt;link&gt;pravo.ru/?p=723&lt;/link&gt;
&lt;wp:post_type&gt;post&lt;/wp:post_type&gt;
&lt;wp:comment&gt;
&lt;wp:comment_id&gt;682&lt;/wp:comment_id&gt;
&lt;wp:comment_content&gt;&lt;![CDATA[НАДО СПАРСИТЬ!!!!]]&gt;&lt;/wp:comment_content&gt;
&lt;/wp:comment&gt;
&lt;wp:comment&gt;
&lt;wp:comment_id&gt;682&lt;/wp:comment_id&gt;
&lt;wp:comment_content&gt;&lt;![CDATA[ТОЖЕ НАДО СПАРСИТЬ!!!!]]&gt;&lt;/wp:comment_content&gt;
&lt;/wp:comment&gt;</code></pre></div><p>А вот основная часть кода скрипта:</p><div class="codebox"><pre><code>$nm = &quot;Гость&quot;;
$userid = &quot;0&quot;;
$parentid=&quot;0&quot;; // родительский раздел.
$mytime = date( &quot;U&quot; ) - 9000000; // дней 30 назад

$xmlx = $xml-&gt;channel-&gt;item;
$xmly = $xmlx-&gt;xpath(&quot;wp:comment&quot;);

foreach ($xmly as $value){
$title =&quot;&quot;;
$mypost = $value-&gt;xpath(&quot;wp:comment_content&quot;); 
$mypost = $mypost[0];
$myid = $value-&gt;children(&#039;wp&#039;, true)-&gt;comment_id;

$result = mysql_query(&quot;INSERT INTO post  
(postid, threadid, parentid, username, userid, title, dateline, pagetext, visible) 
VALUES 
(&#039;$idpost&#039;, &#039;$threadid&#039;, &#039;$parentid&#039;, &#039;$nm&#039;,&#039;$userid&#039;, &#039;$title&#039;, &#039;$mytime&#039;, &#039;$mypost&#039;, &#039;1&#039;)&quot;)
or die(&quot;Invalid query: &quot; . mysql_error());
$mytime = $mytime  + rand(300, 700);
echo &quot;&lt;br&gt;id:&quot;. $myid  .&quot; текст: &quot;.  $mypost .&quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;&quot;;

$idpost = $idpost +1;
$mytime = $mytime  + rand(10, 20);
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>http://itpmr.ru/profile.php?id=2</uri>
			</author>
			<updated>2015-04-28T19:23:06Z</updated>
			<id>http://itpmr.ru/viewtopic.php?pid=124305#p124305</id>
		</entry>
</feed>
