PHP解析HTML字符串
谢谢你花点时间看这个。我使用PHP脚本从URL获取页面的源代码,然后尝试解析它并显示某个部分文本。问题似乎是,当我获取链接的源代码时(使用: )变量$data将其存储为HTML,而不仅仅是字符串。我对PHP非常陌生,所以我不确定是否是这样,但我知道,如果我尝试以任何方式显示$data,它将显示为HTML格式,而不是纯文本 通常这不会是一个问题,但我正在尝试获取HTML标记中某些内容的值,如下所示:PHP解析HTML字符串,php,html,string,parsing,Php,Html,String,Parsing,谢谢你花点时间看这个。我使用PHP脚本从URL获取页面的源代码,然后尝试解析它并显示某个部分文本。问题似乎是,当我获取链接的源代码时(使用: )变量$data将其存储为HTML,而不仅仅是字符串。我对PHP非常陌生,所以我不确定是否是这样,但我知道,如果我尝试以任何方式显示$data,它将显示为HTML格式,而不是纯文本 通常这不会是一个问题,但我正在尝试获取HTML标记中某些内容的值,如下所示: $search = strpos($data, $searchterm); 因为它要么存储为HT
$search = strpos($data, $searchterm);
因为它要么存储为HTML而不是纯文本,要么就是这样处理的,所以strpos()只会搜索在加载页面时显示的文本
更具体地说,在我的文件(关于我帐户的YouTube数据)中,它只会查看如果以HTML形式加载会显示什么,这完全是胡说八道
以下是我希望它搜索的来源(出于隐私考虑,我已将我的帐户名替换为“MyAccount”):
非常感谢您的任何帮助 试试这个
$data = file_get_contents($link);
$searchterm = ''; //as necessary
$data = strtr($data,Array("<"=>"<","&"=>"&"));
$searchterm = strtr($searchterm,Array("<"=>"<","&"=>"&"));
$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("<"=>"<","&"=>"&"));
$searchterm = strtr($searchterm,Array("<"=>"<","&"=>"&"));
$search = strpos($data, $searchterm);