Jump to content


Photo

Need help with string


  • Please log in to reply
1 reply to this topic

#1 soggy

soggy
  • New Members
  • Pip
  • Newbie
  • 6 posts

Posted 30 April 2006 - 02:48 AM

I am kinda new to php and need this string described to me

([^`]*?)


I am trying to get this to load the title and link


<?php

// Screen scraping your way into RSS
// Example script, by Dennis Pallett
// http://www.phpit.net/tutorials/screenscrap-rss

// Get page
$url = "http://titansradio.com";
$data = implode("", file($url)); 

// Get content items
preg_match_all ("/<A HREF\=cgi-bin([^`]*?)\br/", $data, $matches);

// Begin feed
header ("Content-Type: text/xml; charset=ISO-8859-1");
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n";
?>
<rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <channel>
        <title>Titans Radio</title>
        <description>The latest news from titansradio.com</description>
        <link>http://titansradio.com</link>
        <language>en-us</language>


<?
// Loop through each content item
foreach ($matches[0] as $match) {
    // First, get title
    preg_match ("/>\([^`]*?)<\/a/", $match, $temp);
    $title = $temp['1'];
    $title = strip_tags($title);
    $title = trim($title);

    // Second, get url
    preg_match ("/blurb_view\.cgi([^`]*?)>\/", $match, $temp);
    $url = $temp['1'];
    $url = trim($url);

    // Third, get text
    preg_match ("/<p>([^`]*?)<span class=\"byline\">/", $match, $temp);
    $text = $temp['1'];
    $text = trim($text);

    // Fourth, and finally, get author
    preg_match ("/<span class=\"byline\">By ([^`]*?)<\/span>/", $match, $temp);
    $author = $temp['1'];
    $author = trim($author);

    // Echo RSS XML
    echo "<item>\n";
        echo "\t\t\t<title>" . strip_tags($title) . "</title>\n";
        echo "\t\t\t<link>" . strip_tags($url) . "</link>\n";
        echo "\t\t\t<description>" . strip_tags($text) . "</description>\n";
        echo "\t\t\t<content:encoded><![CDATA[ \n";
        echo $text . "\n";
        echo " ]]></content:encoded>\n";
        echo "\t\t\t<dc:creator>" . strip_tags($author) . "</dc:creator>\n";
    echo "\t\t</item>\n";
}
?>
</channel>
</rss>


#2 phporcaffeine

phporcaffeine
  • Members
  • PipPipPip
  • Advanced Member
  • 361 posts
  • LocationOhio, USA

Posted 30 April 2006 - 03:38 AM

[!--quoteo(post=370018:date=Apr 29 2006, 10:48 PM:name=soggy)--][div class=\'quotetop\']QUOTE(soggy @ Apr 29 2006, 10:48 PM) View Post[/div][div class=\'quotemain\'][!--quotec--]
I am kinda new to php and need this string described to me

([^`]*?)
I am trying to get this to load the title and link


<?php

// Screen scraping your way into RSS
// Example script, by Dennis Pallett
// http://www.phpit.net/tutorials/screenscrap-rss

// Get page
$url = "http://titansradio.com";
$data = implode("", file($url)); 

// Get content items
preg_match_all ("/<A HREF\=cgi-bin([^`]*?)\br/", $data, $matches);

// Begin feed
header ("Content-Type: text/xml; charset=ISO-8859-1");
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n";
?>
<rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <channel>
        <title>Titans Radio</title>
        <description>The latest news from titansradio.com</description>
        <link>http://titansradio.com</link>
        <language>en-us</language>
<?
// Loop through each content item
foreach ($matches[0] as $match) {
    // First, get title
    preg_match ("/>\([^`]*?)<\/a/", $match, $temp);
    $title = $temp['1'];
    $title = strip_tags($title);
    $title = trim($title);

    // Second, get url
    preg_match ("/blurb_view\.cgi([^`]*?)>\/", $match, $temp);
    $url = $temp['1'];
    $url = trim($url);

    // Third, get text
    preg_match ("/<p>([^`]*?)<span class=\"byline\">/", $match, $temp);
    $text = $temp['1'];
    $text = trim($text);

    // Fourth, and finally, get author
    preg_match ("/<span class=\"byline\">By ([^`]*?)<\/span>/", $match, $temp);
    $author = $temp['1'];
    $author = trim($author);

    // Echo RSS XML
    echo "<item>\n";
        echo "\t\t\t<title>" . strip_tags($title) . "</title>\n";
        echo "\t\t\t<link>" . strip_tags($url) . "</link>\n";
        echo "\t\t\t<description>" . strip_tags($text) . "</description>\n";
        echo "\t\t\t<content:encoded><![CDATA[ \n";
        echo $text . "\n";
        echo " ]]></content:encoded>\n";
        echo "\t\t\t<dc:creator>" . strip_tags($author) . "</dc:creator>\n";
    echo "\t\t</item>\n";
}
?>
</channel>
</rss>
[/quote]

Your help request isn't very clear (to me) but the "string" that you asked about looks like an excerpt from a regex statement?
Thanks,

Ryan Huff
President & Founder, MyCodeTree
support@mycodetree.com | http://mycodetree.com




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users