【问题标题】:Read only Title from a page? [duplicate]只读页面的标题? [复制]
【发布时间】:2015-11-23 20:17:24
【问题描述】:

我有一个名为 index.php 的页面,上面有一些内容,但标题是从另一台服务器设置的,该服务器生成一个名为 cache_currentsongcallapi.txt 的文本文件

'cache_currentsongapi.txt'的内容:

<tracks>
    <radioname>Mick&apos;s Music Station</radioname>
    <rank>0</rank>
    <isradionomy>1</isradionomy>
    <radurl>http://www.radionomy.com/mick-smusicstation</radurl>
    <track>
        <uniqueid>2722440231</uniqueid>
        <title>Hello</title>
        <artists>Adele</artists>
        <starttime>2015-11-23 21:05:02.35</starttime>
        <playduration>293023</playduration>
        <current>1</current>
            <callmeback>217256</callmeback>
    </track>
</tracks>

有什么方法可以只从文本文件中获取标题并将其显示在索引页面中?

注意:
此方法不能包括编辑文本文件,因为它已被服务器覆盖。

此代码将运行的网站:http://mickyd.net/radio

【问题讨论】:

  • 这个txt文件实际上可以当作XML文件来处理和解析。您是否尝试过读取文件?
  • 对不起,chris85,但我已经尝试过了,但就是不明白!你能用简单的参考给我解释一下吗?
  • 你到底试过什么?在那个骗局中有 20 种不同的解决方案。它们都不适合你?
  • 您在下面有一个答案,应该可以为您提供一个起点。此处和该线程中的链接应该能够为您提供进一步的帮助。如果您有特定问题,请在该主题上发布。也请使用@标记用户,否则不会发送通知。

标签: php html xml


【解决方案1】:

这看起来像是有效的 XML。从不,从不使用正则表达式读取 XML。你会听到很多,而且有充分的理由。

我首先将字符串读取为 XML:

$xml = new SimpleXMLElement($string);
$result = $xml->xpath('/tracks/track/title');

您的里程可能会有所不同,但基本上您可以从这里开始做很多事情。我建议阅读更多关于 DOMXPathSimpleXMLElement 的内容。

【讨论】:

  • 但是,我需要包含 txt 文件吗?我该怎么做?
  • 甚至只是$result = $xml-&gt;track-&gt;title;。 @MichaelDavison 您遍历 XML 树。 tracktracks 的孩子,titletrack 的孩子。因为tracks 是最上层的父$xml 从那里开始。
  • 好的,你能告诉我如何在我的代码中使用它吗?我很困惑...:/ @Victor-Nitu
  • $string 这里可以是file_get_contents('cache_currentsongcallapi.txt');
【解决方案2】:

这是一个完整版本,包括读取实际文件,因为您似乎也需要帮助,但请标记 Victor 的答案。

$filePath = "file.txt";

$handle = fopen($filePath, "r");

$fileContents = fread($handle, filesize($filePath));

$xml = new SimpleXMLElement($fileContents);

$title = $xml->xpath("/tracks/track/title");

echo($title[0]);

其中“file.txt”是文件的路径。

【讨论】:

  • 你是救生员!解释得很好!谢谢你。如果我有足够的声望点,我会给你一个 UP。
  • 或 file_get_contents($filePath);会起作用,但不确定哪个最适合您的情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-21
  • 1970-01-01
  • 2021-08-10
  • 1970-01-01
  • 2014-07-20
  • 2015-06-03
相关资源
最近更新 更多