Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP解析HTML字符串_Php_Html_String_Parsing - Fatal编程技术网

PHP解析HTML字符串

PHP解析HTML字符串,php,html,string,parsing,Php,Html,String,Parsing,谢谢你花点时间看这个。我使用PHP脚本从URL获取页面的源代码,然后尝试解析它并显示某个部分文本。问题似乎是,当我获取链接的源代码时(使用: )变量$data将其存储为HTML,而不仅仅是字符串。我对PHP非常陌生,所以我不确定是否是这样,但我知道,如果我尝试以任何方式显示$data,它将显示为HTML格式,而不是纯文本 通常这不会是一个问题,但我正在尝试获取HTML标记中某些内容的值,如下所示: $search = strpos($data, $searchterm); 因为它要么存储为HT

谢谢你花点时间看这个。我使用PHP脚本从URL获取页面的源代码,然后尝试解析它并显示某个部分文本。问题似乎是,当我获取链接的源代码时(使用:

)变量$data将其存储为HTML,而不仅仅是字符串。我对PHP非常陌生,所以我不确定是否是这样,但我知道,如果我尝试以任何方式显示$data,它将显示为HTML格式,而不是纯文本

通常这不会是一个问题,但我正在尝试获取HTML标记中某些内容的值,如下所示:

$search = strpos($data, $searchterm);
因为它要么存储为HTML而不是纯文本,要么就是这样处理的,所以strpos()只会搜索在加载页面时显示的文本

更具体地说,在我的文件(关于我帐户的YouTube数据)中,它只会查看如果以HTML形式加载会显示什么,这完全是胡说八道

以下是我希望它搜索的来源(出于隐私考虑,我已将我的帐户名替换为“MyAccount”):

非常感谢您的任何帮助

试试这个

    $data = file_get_contents($link);
    $searchterm = ''; //as necessary

    $data = strtr($data,Array("<"=>"&lt;","&"=>"&amp;"));
    $searchterm = strtr($searchterm,Array("<"=>"&lt;","&"=>"&amp;"));

    $search = strpos($data, $searchterm);
$data=file\u get\u contents($link);
$searchterm=''//必要时

$data=strtr($data,Array(“一个单词,三个字母:我们必须重复多少次?不要将HTML/XML解析为文本。试试:$search=strpos($data,”);或者试试preg_match with patterns这很好,当我尝试echo($data)时,它可以显示整个源代码;但是它仍然不会让strpos();搜索整个内容,有什么想法吗?你有没有用处理$searchterm的行尝试我的编辑?这是必要的,因为将与<进行比较,并且将失败。刚刚尝试编辑,它工作得非常好!!非常感谢你帮助了一个新手!:D
<entry gd:etag="W/"A0MFR347eCp7I2A9WhNQEU4."" xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:gd="http://schemas.google.com/g/2005" xmlns:yt="http://gdata.youtube.com/schemas/2007">
<id>tag:youtube.com,2008:user:A1RDBCYeYWY9dydB9MmPlg</id>
<published>2007-01-23T15:39:30.000Z</published>
<updated>2012-11-17T08:03:36.000Z</updated>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://gdata.youtube.com/schemas/2007#userProfile"/>
<title>MyAccount</title>
<summary/>
<link rel="alternate" type="text/html" href="http://www.youtube.com/channel/UCA1RDBCYeYWY9dydB9MmPlg"/>
<link rel="self" type="application/atom+xml" href="http://gdata.youtube.com/feeds/api/users/A1RDBCYeYWY9dydB9MmPlg?v=2"/>
<author>
<name>MyAccount</name>
<uri>http://gdata.youtube.com/feeds/api/users/MyAccount</uri>
<yt:userId>A1RDBCYeYWY9dydB9MmPlg</yt:userId>
</author>
<yt:channelId>UCA1RDBCYeYWY9dydB9MmPlg</yt:channelId>
<gd:feedLink rel="http://gdata.youtube.com/schemas/2007#user.liveevent" href="http://gdata.youtube.com/feeds/api/users/MyAccount/live/events?v=2" countHint="0"/>
<gd:feedLink rel="http://gdata.youtube.com/schemas/2007#user.favorites" href="http://gdata.youtube.com/feeds/api/users/MyAccount/favorites?v=2" countHint="0"/>
<gd:feedLink rel="http://gdata.youtube.com/schemas/2007#user.contacts" href="http://gdata.youtube.com/feeds/api/users/MyAccount/contacts?v=2" countHint="71"/>
<gd:feedLink rel="http://gdata.youtube.com/schemas/2007#user.inbox" href="http://gdata.youtube.com/feeds/api/users/MyAccount/inbox?v=2"/>
<gd:feedLink rel="http://gdata.youtube.com/schemas/2007#user.playlists" href="http://gdata.youtube.com/feeds/api/users/MyAccount/playlists?v=2"/>
<gd:feedLink rel="http://gdata.youtube.com/schemas/2007#user.subscriptions" href="http://gdata.youtube.com/feeds/api/users/MyAccount/subscriptions?v=2" countHint="54"/>
<gd:feedLink rel="http://gdata.youtube.com/schemas/2007#user.uploads" href="http://gdata.youtube.com/feeds/api/users/MyAccount/uploads?v=2" countHint="41"/>
<gd:feedLink rel="http://gdata.youtube.com/schemas/2007#user.newsubscriptionvideos" href="http://gdata.youtube.com/feeds/api/users/MyAccount/newsubscriptionvideos?v=2"/>
<yt:location>US</yt:location>
<yt:maxUploadDuration seconds="43200"/>
<yt:statistics lastWebAccess="2012-07-08T15:58:07.000Z" subscriberCount="126" videoWatchCount="0" viewCount="3385" totalUploadViews="50179"/>
<media:thumbnail url="http://i2.ytimg.com/i/A1RDBCYeYWY9dydB9MmPlg/1.jpg?v=934f35"/>
<yt:userId>A1RDBCYeYWY9dydB9MmPlg</yt:userId>
<yt:username display="MyAccount">MyAccount</yt:username>
</entry>
tag:youtube.com,2008:user:A1RDBCYeYWY9dydB9MmPlg2007-01-23T15:39:30.000Z2012-11-17T08:03:36.000Z
MyAccounthttp://gdata.youtube.com/feeds/api/users/MyAccountA1RDBCYeYWY9dydB9MmPlgUCA1RDBCYeYWY9dydB9MmPlgUSA1RDBCYeYWY9dydB9MmPlgMyAccount
    $data = file_get_contents($link);
    $searchterm = ''; //as necessary

    $data = strtr($data,Array("<"=>"&lt;","&"=>"&amp;"));
    $searchterm = strtr($searchterm,Array("<"=>"&lt;","&"=>"&amp;"));

    $search = strpos($data, $searchterm);