粘贴MS-Word中的格式化文本

时间:2011-12-09 作者:p.a.

我想将MS Word文件中存储的大量文本粘贴到Wordpress帖子中。

当我直接从MS Word复制粘贴时,页面通常会因各种MS Word控件字符而中断。

所以我更喜欢将我的文本另存为。然后复制纯文本并粘贴到Wordpress中。

但是,我会丢失所有格式,如粗体和斜体。

有什么想法吗?

4 个回复
SO网友:Saif Bechan

也许您可以看看XML-RPC函数并使用Microsoft Live Writer。我认为这将使你的所有格式保持得体。

此外,它为您提供了一个在桌面环境中使用的良好界面。您只需在后端的“选项”->“写入”中启用此功能。

下载并安装Microsoft Live Writer,您就可以开始了。

http://en.wordpress.com/windows-live-writer/

SO网友:Brooke.

另一个选项是工具栏上的“从Word粘贴”按钮。该选项位于厨房水槽视图下。以下是更多信息:http://blogsolace.com/how-to-use-the-paste-from-word-feature-in-wordpress/

SO网友:Joce

至少在Linux下,“粘贴”按钮会丢失很多有用的格式,例如标题或表格,甚至是粗体和斜体。

我正在使用的一个解决方法是通过HTML导出,并将HTML代码复制粘贴到Wordpress的HTML输入框中。为此,您需要HTML导出足够干净,OpenOffice生成的HTML就是这种情况。

为此,请执行以下操作:

在OpenOffice writer中打开文档列表项另存为HTML在记事本或其他文本编辑工具中打开HTML选择相关部分并将其复制在Wordpress中打开帖子,单击“HTML”将源代码版本粘贴到帖子中的正确位置(使用常用的粘贴方法,如。CTRL-V).

SO网友:Petr Cibulka

另一种选择是使用the_content 与某种解析器一起过滤,例如PHPDOMDocument, 删除不必要的标记。

伪代码:

function parse_my_content($html) {
    $phpdom = new \\DOMDocument;
    $phpdom->loadHTML($html);
    // do some parser magic ....
    $result = $phpdom->saveHTML();
    return $result;

}

add_filter(\'the_content\', \'parse_my_content\', 11, 1);

// if you do not want to save it to database, fires on each adding/editing the post
add_filter(\'wp_insert_post\', function($post_arr) {
    $post_arr->content = parse_my_content($post_arr);
    return $post_arr;
});

结束