我想修改一个字符串数组的撤销,其中找到了开始和结束

时间:2011-11-15 17:38:15

标签: php foreach file-get-contents

我想修改发现开始和结束的字符串数组的撤销

<?php


$file = ('http://gdata.youtube.com/feeds/base/users/BBCArabicNews/uploads?alt=rss&v=2&orderby=published&client=ytapi-youtube-profile'); 


$string=file_get_contents($file);
    function findinside($start, $end, $string) {
       preg_match_all('/' . preg_quote($start,'/') . '(.+?)'. preg_quote($end, '/').'/si', $string, $m);
        return $m[1];
    }
    $start = ':video:';
    $end = '</guid>';

    $out = findinside($start, $end, $string);

  $out = findinside($start, $end, $string);
foreach($out as $string){

  echo $string;
echo "<p></td>\n";

 }

?>

结果

Q80QSzgPDD8

ozei4GysBN8

ak3bbs_UxP0

rUs-r3ilTG4

p4BO6FI5sPY

j5lclrPzeVU

dK5VWTYsJaM

mERug-d536k

h0zqd3bC0-E

ije5kuSfLKY

H9XXMPvEpHM

EK5UoQqYl4U

这适用于撤销字符串数组我还想添加

  $start = '</pubDate><atom:updated>';
        $end = '</atom:updated>';

我想要显示两个字符串数组 示例

xSD0XJLkLQid
2011-11-08T17:36:14.000Z

bFU066NwVnD
2011-12-08T17:36:14.000Z

我可以使用此代码执行此操作吗

问候

2 个答案:

答案 0 :(得分:2)

您可以像这样使用PHP的DOMDocument解析器:

$objDOM = new DOMDocument();
$objDOM->load($file);  // the long one from youtube
$dates = $objDOM->getElementsByTagName("pubDate"); 
foreach ($dates as $node)
{
     echo $node->nodeValue;
} 

答案 1 :(得分:1)

使用DOM解析器,然后在DOM中的各个元素中使用正则表达式解析器(使用getElementById()之类的东西)。它工作得更好,更安全。