Php 我想修改一个字符串数组的提取,在这个数组中可以找到开始和结束

Php 我想修改一个字符串数组的提取,在这个数组中可以找到开始和结束,php,foreach,file-get-contents,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

我想修改一个字符串数组的提取,在这个数组中可以找到开始和结束

<?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";

 }

?>
这在提取字符串数组时正常工作我还想添加

  $start = '</pubDate><atom:updated>';
        $end = '</atom:updated>';
我可以用这个代码做这个吗


问候语

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

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

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

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

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

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

在XML/HTML上使用正则表达式是错误的。您应该使用DOM解析器来检索各个元素/标记,然后可以使用正则表达式或简单的字符串操作来获取您的值:我不确定我是否遵循了。最终输出应该是什么样子的?结果是我想显示日期和视频代码@landonsAh。是的,您需要一个解析器库:在XML/HTML上使用正则表达式是错误的。您应该使用DOM解析器来检索各个元素/标记,然后可以使用正则表达式或简单的字符串操作来获取您的值:我不确定我是否遵循了。最终输出应该是什么样子的?结果是我想显示日期和视频代码@landonsAh。是的,你需要一个解析器库:我是如何道歉的,我是编程新手我是如何道歉的,我是编程新手这还不够,我想做的是拖动历史,并编写视频,如44lxceMeFT8和2011年11月13日12:29:18+0000@10neencom这只是一个让你朝正确方向前进的示例。这是一个学习的地方,而不是让社区为您编写整个应用程序。这还不够。我想做的是拖动历史并编写视频,如44lxceMeFT8和2011年11月13日12:29:18+0000@10neencom这只是一个让你朝正确方向前进的示例。这是一个学习的地方,而不是让社区为您编写整个应用程序。
$objDOM = new DOMDocument();
$objDOM->load($file);  // the long one from youtube
$dates = $objDOM->getElementsByTagName("pubDate"); 
foreach ($dates as $node)
{
     echo $node->nodeValue;
}