使用php将HTML输出转换为纯文本

时间:2011-12-06 16:03:26

标签: php html plaintext

我正在尝试将我的示例HTML输出转换为纯文本,但我不知道如何。我使用file_get_contents,但我尝试转换的页面返回最相似。

$raw = "http://localhost/guestbook/profiles.php";
$file_converted = file_get_contents($raw);
echo $file_converted;

profiles.php

<html>
    <head>
        <title>Profiles - GuestBook</title>
        <link rel="stylesheet" type="text/css" href="css/style.css">
    </head>
<body>
    <!-- Some Divs -->
    <div id="profile-wrapper">
        <h2>Profile</h2>
        <table>
            <tr>
                <td>Name:</td><td> John Dela Cruz</td>
            </tr>
            <tr>
                <td>Age:</td><td>15</td>
            </tr>
            <tr>
                <td>Location:</td><td> SomewhereIn, Asia</td>
            </tr>
        </table>
    </div>
</body>
</html>

基本上,我试图回应这样的东西(纯文本,没有样式)

Profile
Name: John Dela Cruz
Age: 15
Location: SomewhereIn, Asia

但我不知道怎么做。 :-(。请帮帮我们,谢谢你们。

编辑:因为我只是在页面内容之后,无论是样式还是纯文本,有没有办法只使用file_get_contents()选择(参见下面的代码)?

 <h2>Profile</h2>
        <table>
            <tr>
                <td>Name:</td><td> John Dela Cruz</td>
            </tr>
            <tr>
                <td>Age:</td><td>15</td>
            </tr>
            <tr>
                <td>Location:</td><td> SomewhereIn, Asia</td>
            </tr>
        </table>

5 个答案:

答案 0 :(得分:5)

使用php strip_tags

如果strip_tags不起作用,那么你可以使用正则表达式来提取你想要的信息。

尝试使用带有/(<td>.*?<\/td>)/的PHP preg_match作为模式

答案 1 :(得分:2)

看一下simplexml_load_file():

http://www.php.net/manual/en/function.simplexml-load-file.php

它允许您将HTML数据加载到对象(SimpleXMLElement)中并像树一样遍历该对象。

答案 2 :(得分:1)

尝试使用PHP函数strip_tags

答案 3 :(得分:1)

尝试这个,

<?php
$data = file_get_contents("your_file");
preg_match_all('|<div[^>]*?>(.*?)</div>|si',$data, $result);
print_r($result[0][0]);
?>

我试过这个,这似乎对我有用,因为你也希望

答案 4 :(得分:0)

您可以使用strip_tags php函数。浏览strip_tags函数的php手册页中的注释,看看如何以一种好的方式使用它。