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

发布于 2024-12-20 02:10:12 字数 1734 浏览 0 评论 0原文

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

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

profile.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>

I'm trying to convert my sample HTML output into a plain text but I don't know how. I use file_get_contents but the page which I'm trying to convert returns most like the same.

$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>

Basically, I trying to echo out something like this (plain text, no styles)

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

but i don't know how. :-( . Please help me guys , thank you in advance.

EDIT: Since i am only after of the content of the page, no matter if it's styled or just a plain text , is there a way to select only (see code below) using 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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

温折酒 2024-12-27 02:10:12

使用 php strip_tags

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

尝试使用 PHP preg_match/(。 *?<\/td>)/ 作为模式

Use php strip_tags

If strip_tags is not working for then maybe you can use regex to extract the info you want.

Try using PHP preg_match with /(<td>.*?<\/td>)/ as the pattern

罪#恶を代价 2024-12-27 02:10:12

看看 simplexml_load_file():

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

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

Have a look at simplexml_load_file():

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

It will allow you to load the HTML data into an object (SimpleXMLElement) and traverse that object like a tree.

旧时光的容颜 2024-12-27 02:10:12

尝试使用 PHP 函数 strip_tags

try to use PHP function strip_tags

软糯酥胸 2024-12-27 02:10:12

试试这个,

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

我已经尝试过这个,它似乎对我有用,我希望对你也有用

try this one,

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

I have try this one, and it seems work for me, for you too i hope

大姐,你呐 2024-12-27 02:10:12

您可以使用 strip_tags php 函数来实现此目的。浏览 strip_tags 函数的 php 手册页中的注释,了解如何以良好的方式使用它。

You can use the strip_tags php function for this. Browse through the comments in the php manual page of the strip_tags function to see how you can use this in a good way.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文