<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Boss方的博客 &#187; wordpress文章源码</title>
	<atom:link href="http://www.bossfang.com/tag/wordpress%e6%96%87%e7%ab%a0%e6%ba%90%e7%a0%81/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bossfang.com</link>
	<description>头都破了,还怕流血吗</description>
	<lastBuildDate>Mon, 06 Sep 2010 08:42:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type='text/javascript' src='http://www.bossfang.com/wp-includes/js/jquery/jquery.js?ver=1.4.2'></script>
<script type="text/javascript">
/* <![CDATA[ */
jQuery.ajax({type:'GET',url:'http://www.bossfang.com/wp-content/plugins/wp-postviews-plus/postviews_plus.php',data:'todowppvp=add&type=tag&id=108_1',cache:false,dataType:'script'});
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
	<item>
		<title>Windows live write发布wordpress文章是源码解决办法</title>
		<link>http://www.bossfang.com/windows-live-write-article-was-published-source-solution-wordpress.html</link>
		<comments>http://www.bossfang.com/windows-live-write-article-was-published-source-solution-wordpress.html#comments</comments>
		<pubDate>Thu, 09 Apr 2009 17:53:00 +0000</pubDate>
		<dc:creator>Boss方</dc:creator>
				<category><![CDATA[折腾博客]]></category>
		<category><![CDATA[live wirte]]></category>
		<category><![CDATA[wordpress文章源码]]></category>
		<category><![CDATA[WP经验]]></category>

		<guid isPermaLink="false">http://www.bossfang.com/internet/wp%e7%bb%8f%e9%aa%8c/windows-live-write-article-was-published-source-solution-wordpress.html</guid>
		<description><![CDATA[由于以前租用的上海某主机提供商提供的虚拟主机在上海电信事件中被和谐掉了，于是，Boss方换了一个新的空间，装上了新的博客，可怜以前的文章都不见了。 但是，换新主机之后，我又遇见了更多的问题，总之感觉像是这个空间故意耍我一样，麻烦是一个接一个，弄得我有时候真的有点抓狂了，不过换个角度想想，也算是一种学习吧。 最新遇见的问题就是在我使用Windows live writer（WLW）发表文章的时候，博客中显示出来的是源码，文章格式什么的全部都没有了，简单的看了看文章，发觉文章源码中的符号“&#60;”和“&#62;”都消失了，所以才会没法正常显示。 可是这是什么原因造成的呢？我百思不得其解，在网上找了半天解决办法，又发帖询问，都一直没有结果。不过到了最后，功夫不负有心人，我还是找到了解决办法。 &#160; 问题真的是在空间方面，原因也就不说了。 &#160; 下面公布解决办法：&#160; 一共需要修改三个文件，非常简单，将下面提供的代码覆盖相应的函数就可以了。 步骤： 1、按照以下路径找到这博客目录中这3个文件，并用FTP下载下来，如果空间支持在线编辑，也可以 /wp-admin/import/blogger.php &#8212; function parse($xml) /wp-includes/rss.php &#8212; function MagpieRSS ($source) /wp-includes/class-IXR.php &#8212; function parse() 注意：在修改的时候请使用专业点的文档编辑软件，一定不要用记事本修改，因为最后在保存的时候需要另存为“UTF-8”的格式，不然会出错的！大家可以使用UltraEdit、EmEditor等之类的二进制编辑软件，Boss方一般使用的是Ultraedit，推荐。 2、首先是修改第一个文件/wp-admin/import/blogger.php中的function parse($xml) 函数 打开/wp-admin/import/blogger.php文件，搜索：function parse($xml)，大概在913-935 行， 复制下面的参数，覆盖源文件即可。 &#160; function parse($xml) { &#160;&#160;&#160; global $app_logging; &#160;&#160;&#160; array_unshift($this-&#62;ns_contexts, array()); &#160;&#160;&#160; $parser = xml_parser_create_ns(); &#160;&#160;&#160; xml_set_object($parser, $this); &#160;&#160;&#160; xml_set_element_handler($parser, &#34;start_element&#34;, &#34;end_element&#34;); [...]]]></description>
			<content:encoded><![CDATA[<p>由于以前租用的上海某主机提供商提供的虚拟主机在上海电信事件中被和谐掉了，于是，<span class='wp_keywordlink'><a href="http://www.bossfang.com" title="Boss" target="_blank">Boss</a></span>方换了一个新的空间，装上了新的博客，可怜以前的文章都不见了。</p>
<p>但是，换新主机之后，我又遇见了更多的问题，总之感觉像是这个空间故意耍我一样，麻烦是一个接一个，弄得我有时候真的有点抓狂了，不过换个角度想想，也算是一种学习吧。 </p>
<p>最新遇见的问题就是在我使用Windows live writer（WLW）发表文章的时候，博客中显示出来的是源码，文章格式什么的全部都没有了，简单的看了看文章，发觉文章源码中的符号“&lt;”和“&gt;”都消失了，所以才会没法正常显示。</p>
<p>可是这是什么原因造成的呢？我百思不得其解，在网上找了半天解决办法，又发帖询问，都一直没有结果。不过到了最后，功夫不负有心人，我还是找到了解决办法。 </p>
<p>&#160;</p>
<p>问题真的是在空间方面，原因也就不说了。 </p>
<p>&#160;</p>
<p>下面公布解决办法：&#160; </p>
<p> <span id="more-183"></span>
</p>
<p>一共需要修改三个文件，非常简单，将下面提供的代码覆盖相应的函数就可以了。 </p>
<p>步骤：</p>
<p> 1、按照以下路径找到这博客目录中这3个文件，并用FTP下载下来，如果空间支持在线编辑，也可以<br />
<blockquote>/wp-admin/import/blogger.php &#8212; function parse($xml)    <br />/wp-includes/rss.php &#8212; function MagpieRSS ($source)     <br />/wp-includes/class-IXR.php &#8212; function parse() </p></blockquote>
<p>注意：在修改的时候请使用专业点的文档编辑软件，一定不要用记事本修改，因为最后在保存的时候需要另存为“UTF-8”的格式，不然会出错的！大家可以使用UltraEdit、EmEditor等之类的二进制编辑软件，<span class='wp_keywordlink'><a href="http://www.bossfang.com" title="Boss方" target="_blank">Boss方</a></span>一般使用的是Ultraedit，推荐。 </p>
<p>2、首先是修改第一个文件/wp-admin/import/blogger.php中的function parse($xml) 函数     </p>
<blockquote><p>打开/wp-admin/import/blogger.php文件，搜索：function parse($xml)，大概在913-935 行，</p>
<p>复制下面的参数，覆盖源文件即可。      </p>
<p>&#160; function parse($xml) {      <br />&#160;&#160;&#160; global $app_logging;       <br />&#160;&#160;&#160; array_unshift($this-&gt;ns_contexts, array());       <br />&#160;&#160;&#160; $parser = xml_parser_create_ns();       <br />&#160;&#160;&#160; xml_set_object($parser, $this);       <br />&#160;&#160;&#160; xml_set_element_handler($parser, &quot;start_element&quot;, &quot;end_element&quot;);       <br />&#160;&#160;&#160; xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);       <br />&#160;&#160;&#160; xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,0);       <br />&#160;&#160;&#160; xml_set_character_data_handler($parser, &quot;cdata&quot;);       <br />&#160;&#160;&#160; xml_set_default_handler($parser, &quot;_default&quot;);       <br />&#160;&#160;&#160; xml_set_start_namespace_decl_handler($parser, &quot;start_ns&quot;);       <br />&#160;&#160;&#160; xml_set_end_namespace_decl_handler($parser, &quot;end_ns&quot;);       <br />&#160;&#160;&#160; $contents = &quot;&quot;;       <br />&#160;&#160;&#160; //xmllib 2.7.0 -2.7.3 stripping leading angle brackets bug patch       <br />&#160;&#160;&#160; $xml =str_replace(&quot;&amp;lt;&quot;,&quot;&amp;#60;&quot;,$xml );       <br />&#160;&#160;&#160; $xml =str_replace(&quot;&amp;gt;&quot;,&quot;&amp;#62;&quot;,$xml );       <br />&#160;&#160;&#160; $xml =str_replace(&quot;&amp;amp;&quot;,&quot;&amp;#38;&quot;,$xml );       <br />&#160;&#160;&#160; //end Fix       <br />&#160;&#160;&#160; xml_parse($parser, $xml);       <br />&#160;&#160;&#160; xml_parser_free($parser);       <br />&#160;&#160;&#160; return true;       <br />&#160;&#160;&#160; } </p>
</blockquote>
<p>3、接下来是修改/wp-includes/rss.php中的function MagpieRSS ($source) </p>
<blockquote><p>打开：wp-includes/rss.php文件，搜索：function MagpieRSS ($source)，大概在49-90 行.
<p>复制下面的参数，覆盖源文件即可。      </p>
<p> 
<p>function MagpieRSS ($source) { </p>
<p>&#160; # if PHP xml isn&#8217;t compiled in, die      <br />&#160; #       <br />&#160; if ( !function_exists(&#8216;xml_parser_create&#8217;) )       <br />&#160;&#160;&#160;&#160;&#160; trigger_error( &quot;Failed to load PHP&#8217;s XML Extension. <a href="http://www.php.net/manual/en/ref.xml.php&quot;">http://www.php.net/manual/en/ref.xml.php&quot;</a> ); </p>
<p>&#160; $parser = @xml_parser_create(); </p>
<p>&#160; if ( !is_resource($parser) )      <br />&#160;&#160;&#160;&#160;&#160; trigger_error( &quot;Failed to create an instance of PHP&#8217;s XML parser. <a href="http://www.php.net/manual/en/ref.xml.php&quot;);">http://www.php.net/manual/en/ref.xml.php&quot;);</a></p>
<p>&#160; $this-&gt;parser = $parser; </p>
<p>&#160; # pass in parser, and a reference to this object      <br />&#160; # setup handlers       <br />&#160; #       <br />&#160; xml_set_object( $this-&gt;parser, $this );       <br />&#160; xml_set_element_handler($this-&gt;parser,       <br />&#160;&#160;&#160;&#160;&#160; &#8216;feed_start_element&#8217;, &#8216;feed_end_element&#8217; ); </p>
<p>&#160; xml_set_character_data_handler( $this-&gt;parser, &#8216;feed_cdata&#8217; ); </p>
<p>&#160; //xmllib 2.7.0 -2.7.3 stripping leading angle brackets bug patch      <br />&#160; $source =str_replace(&quot;&amp;lt;&quot;,&quot;&amp;#60;&quot;,$source );       <br />&#160; $source =str_replace(&quot;&amp;gt;&quot;,&quot;&amp;#62;&quot;,$source );       <br />&#160; $source =str_replace(&quot;&amp;amp;&quot;,&quot;&amp;#38;&quot;,$source );       <br />&#160; //end fix       <br />&#160; $status = xml_parse( $this-&gt;parser, $source );       <br />&#160; if (! $status ) {       <br />&#160;&#160;&#160;&#160;&#160; $errorcode = xml_get_error_code( $this-&gt;parser );       <br />&#160;&#160;&#160;&#160;&#160; if ( $errorcode != XML_ERROR_NONE ) {       <br />&#160;&#160;&#160;&#160;&#160; $xml_error = xml_error_string( $errorcode );       <br />&#160;&#160;&#160;&#160;&#160; $error_line = xml_get_current_line_number($this-&gt;parser);       <br />&#160;&#160;&#160;&#160;&#160; $error_col = xml_get_current_column_number($this-&gt;parser);       <br />&#160;&#160;&#160;&#160;&#160; $errormsg = &quot;$xml_error at line $error_line, column $error_col&quot;; </p>
<p>&#160;&#160;&#160;&#160;&#160; $this-&gt;error( $errormsg );      <br />&#160;&#160;&#160; }       <br />}       <br />&#160; xml_parser_free( $this-&gt;parser ); </p>
<p>&#160; $this-&gt;normalize();      <br />}</p>
</blockquote>
<p>4、最后是修改/wp-includes/class-IXR.php中的function parse()
</p>
<blockquote><p>打开/wp-includes/class-IXR.php，搜索：function parse()函数，大概在159-185行 </p>
<p>&#160;</p>
<p>function parse() {      <br />&#160;&#160;&#160; // first remove the XML declaration       <br />&#160;&#160;&#160; $this-&gt;message = preg_replace(&#8216;/&lt;\?xml(.*)?\?&#8217;.'&gt;/&#8217;, &#8221;, $this-&gt;message);       <br />&#160;&#160;&#160; if (trim($this-&gt;message) == &#8221;) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return false;       <br />&#160;&#160;&#160; }       <br />&#160;&#160;&#160; $this-&gt;_parser = xml_parser_create();       <br />&#160;&#160;&#160; // Set XML parser to take the case of tags in to account       <br />&#160;&#160;&#160; xml_parser_set_option($this-&gt;_parser, XML_OPTION_CASE_FOLDING, false);       <br />&#160;&#160;&#160; // Set XML parser callback functions       <br />&#160;&#160;&#160; xml_set_object($this-&gt;_parser, $this);       <br />&#160;&#160;&#160; xml_set_element_handler($this-&gt;_parser, &#8216;tag_open&#8217;, &#8216;tag_close&#8217;);       <br />&#160;&#160;&#160; xml_set_character_data_handler($this-&gt;_parser, &#8216;cdata&#8217;);       <br />&#160;&#160;&#160; //xmllib 2.7.0 -2.7.3 stripping leading angle brackets bug patch       <br />&#160;&#160;&#160; $this-&gt;message =str_replace(&quot;&amp;lt;&quot;,&quot;&amp;#60;&quot;,$this-&gt;message);       <br />&#160;&#<br />
160;&#160; $this-&gt;message =str_replace(&quot;&amp;gt;&quot;,&quot;&amp;#62;&quot;,$this-&gt;message);       <br />&#160;&#160;&#160; $this-&gt;message =str_replace(&quot;&amp;amp;&quot;,&quot;&amp;#38;&quot;,$this-&gt;message);       <br />&#160;&#160;&#160; //end fix       <br />&#160;&#160;&#160; if (!xml_parse($this-&gt;_parser, $this-&gt;message)) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; /* die(sprintf(&#8216;XML error: %s at line %d&#8217;,       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xml_error_string(xml_get_error_code($this-&gt;_parser)),       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xml_get_current_line_number($this-&gt;_parser))); */       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return false;       <br />&#160;&#160;&#160; }       <br />&#160;&#160;&#160; xml_parser_free($this-&gt;_parser);       <br />&#160;&#160;&#160; // Grab the error messages, if any       <br />&#160;&#160;&#160; if ($this-&gt;messageType == &#8216;fault&#8217;) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $this-&gt;faultCode = $this-&gt;params[0]['faultCode'];       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $this-&gt;faultString = $this-&gt;params[0]['faultString'];       <br />&#160;&#160;&#160; }       <br />&#160;&#160;&#160; return true;       <br />}</p>
</blockquote>
<p>&#160;</p>
<p>至此，所有的修改借宿，修改好后一定要另存为UTF-8的格式    <br />最后，将这三个更改好的文件上传覆盖，就大功告成了！</p>
<p>&#160;</p>
<p>再用windows live writer（WLW）发布篇文章试试看。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bossfang.com/windows-live-write-article-was-published-source-solution-wordpress.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
