note 68226 added to function.strpos

From: Date: Wed, 19 Jul 2006 00:26:21 +0000
Subject: note 68226 added to function.strpos
Groups: php.notes 
Request: Send a blank email to php-notes+get-114903@lists.php.net to get a copy of this message
Im sure there are more efficient methods of this, but i use this alot when dealing with rss and was proud of it. <? function data_from_element($needle,$haystack,$tags=FALSE) { // Expects two Strings, returns Array $needle_start = "<".$needle.">"; $needle_end = "</".$needle.">"; $array = array(); $pos_start = 0; while(($pos_start = strpos($haystack,$needle_start,$pos_start)) !== false) { $pos_end = strpos($haystack,$needle_end,$pos_start); if($tags) $array[] = substr($haystack,$pos_start,$pos_end-$pos_start+strlen($needle_end)); else $array[] = substr($haystack,$pos_start + strlen($needle_start),$pos_end - $pos_start - strlen($needle_start)); $pos_start++; } return $array; } d //example $rss = '<?xml version="1.0"?> <rss version="2.0"> <channel> <title>Example RSS</title> <description>Example RSS Description</description> <link>http://example.com/rss/</link> <item> <title>Example RSS 1</title> <link>http://example.com/rss/1.html</link> <description>Example 1</description> </item> <item> <title>Example RSS 2</title> <link>http://example.com/rss/2.html</link> <description>Example 2</description> </item> </channel> </rss>'; $items = data_from_elements(link,$rss); // $rss[0] => "http://example.com/rss/" $items = data_from_elements(link,$rss,true); // $rss[0] => "<link> http://example.com/rss/ </link>" ?> ---- Server IP: 85.116.0.130 Probable Submitter: 84.9.173.239 ---- X-Spam-Status: No, hits=3.3 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER, HTML_MESSAGE autolearn=no version=2.64 ---- Manual Page -- http://www.php.net/manual/en/function.strpos.php Edit -- http://master.php.net/note/edit/68226 Del: integrated -- http://master.php.net/note/delete/68226/integrated Del: useless -- http://master.php.net/note/delete/68226/useless Del: bad code -- http://master.php.net/note/delete/68226/bad+code Del: spam -- http://master.php.net/note/delete/68226/spam Del: non-english -- http://master.php.net/note/delete/68226/non-english Del: in docs -- http://master.php.net/note/delete/68226/in+docs Del: other reasons-- http://master.php.net/note/delete/68226 Reject -- http://master.php.net/note/reject/68226 Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#114903) next »