note 74546 added to function.strpos

From: Date: Mon, 16 Apr 2007 22:40:26 +0000
Subject: note 74546 added to function.strpos
Groups: php.notes 
Request: Send a blank email to php-notes+get-125484@lists.php.net to get a copy of this message
Get text between two strings, nonencasing. Results are returned by array. The following is a modification of the code provided by mvp at mvpprograms dot com. Instead of substr'ing, it uses an offset. When using extremely large strings I found it's more reliable than some others on this page, and has been performing 400x faster than his original. Hope it helps. <?php function TextBetweenArray($s1,$s2,$s,$offset=0){ $myarray=array(); $s1=strtolower($s1); $s2=strtolower($s2); $L1=strlen($s1); $scheck=strtolower($s); do { $pos1 = strpos($scheck,$s1,$offset); if($pos1 !== false) { $pos2 = strpos($scheck,$s2,$pos1+$L1); if($pos2 !== false) { $myarray[]=substr($s,$pos1+$L1,$pos2-$pos1-1); $offset=$pos2; } } } while (($pos1!==false) && ($pos2!==false)); return $myarray; } ?> ---- Server IP: 64.71.164.2 Probable Submitter: 161.28.183.225 ---- Manual Page -- http://www.php.net/manual/en/function.strpos.php Edit -- https://master.php.net/note/edit/74546 Del: integrated -- https://master.php.net/note/delete/74546/integrated Del: useless -- https://master.php.net/note/delete/74546/useless Del: bad code -- https://master.php.net/note/delete/74546/bad+code Del: spam -- https://master.php.net/note/delete/74546/spam Del: non-english -- https://master.php.net/note/delete/74546/non-english Del: in docs -- https://master.php.net/note/delete/74546/in+docs Del: other reasons-- https://master.php.net/note/delete/74546 Reject -- https://master.php.net/note/reject/74546 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#125484) next »