【问题标题】:Geting img url and video url from a string从字符串中获取图片 url 和视频 url
【发布时间】:2014-07-22 11:03:47
【问题描述】:

我有一串html

<img alt='' src='http:\/\/1.gravatar.com\/avatar\/9ed48ee692d84679c0aa2509985a4c74?s=96&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&amp;r=G' class='avatar avatar-96 photo' height='96' width='96' \/>

我只需要从中提取 url。

我也有这个 json

  [{"ID":1,"post_author":"1","post_date":"2014-04-17 16:09:47","post_date_gmt":"2014-04-17 16:09:47","post_content":"Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!\r\n\r\n&lt;iframe id=\"viddler-ce3d9b65\" src=\"\/\/www.viddler.com\/embed\/ce3d9b65\/?f=1&amp;autoplay=0&amp;player=full&amp;secret=53324891&amp;disablebackwardseek=0&amp;disableseek=0&amp;disableforwardseek=0&amp;loop=0&amp;nologo=0&amp;hd=0\" width=\"437\" height=\"288\" frameborder=\"0\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"&gt;&lt;\/iframe&gt;\r\n\r\n&nbsp;","post_title":"Hello world!","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"hello-world","to_ping":"","pinged":"","post_modified":"2014-05-09 09:35:11","post_modified_gmt":"2014-05-09 09:35:11","post_content_filtered":"","post_parent":0,"guid":"http:\/\/neevo.simple-task.com\/?p=1","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"2","filter":"raw"}]

并且只需要提取到 src 中视频的链接。

我该怎么做?

更新: 这解决了img scr问题

        $dom = new DOMDocument();
        $dom->loadHTML($ava);
        $url =  $dom->getElementsByTagName('img')->item(0)->getAttribute('src');

【问题讨论】:

  • 你的尝试在哪里
  • 请提供您需要的更多详细信息
  • 对不起,这就是它应该看起来的样子
  • 你有没有试过得到这些?
  • 我做了 preg_match 但不知道如何正确地写出来

标签: php json wordpress


【解决方案1】:

假设您在 php 中执行此操作,为了能够提取所需的 JSON 信息,您只需将其解码为 php 数组,然后取出您需要的部分。比如:

$json = your_json_feed;
$data = json_decode($json);
$video_url_tmp = $data["post_content"];

这将使$video_url_tmp 包含:

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!\r\n\r\n&lt;iframe id=\"viddler-ce3d9b65\" src=\"\/\/www.viddler.com\/embed\/ce3d9b65\/?f=1&amp;autoplay=0&amp;player=full&amp;secret=53324891&amp;disablebackwardseek=0&amp;disableseek=0&amp;disableforwardseek=0&amp;loop=0&amp;nologo=0&amp;hd=0\" width=\"437\" height=\"288\" frameborder=\"0\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"&gt;&lt;\/iframe&gt;\r\n\r\n&nbsp;

您想要的 JSON 提要中包含 URL 的部分。然后你需要一个正则表达式来提取你需要的部分。将 RegEx "id=\"viddler-ce3d9b65\" 分开可能更容易,然后弄清楚 viddler 如何创建其链接/嵌入/其他内容以及自己的形式。

希望对你有所帮助。

供参考json_decodehttp://php.net/manual/en/function.json-decode.php

【讨论】:

  • 我也想分享一下,这个正则表达式得到了我上面提到的部分$matched = preg_replace("/\w{7}-......../", $video_url_tmp, $matches)。 RegEx 本身是:/\w{7}-......../ 请参阅:regexr.com/396m1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-25
  • 2021-05-17
  • 1970-01-01
  • 2016-11-11
  • 1970-01-01
  • 2016-03-19
  • 2016-08-31
相关资源
最近更新 更多