TalkPHP

TalkPHP (http://www.talkphp.com/forums.php)
-   Advanced PHP Programming (http://www.talkphp.com/advanced-php-programming/)
-   -   Put in seperate $var content whats in between *&&* (http://www.talkphp.com/advanced-php-programming/5796-put-seperate-var-content-whats-between.html)

Peuplarchie 02-21-2011 07:10 AM

Put in seperate $var content whats in between *&&*
 
Good day to you all,
I'm looking for a way to retrieve the text in between *& &* and put it's content into a $var. for each occurrence with in a string.

$occu[0] = "dsfsdf";
$occu[1] = "10";
$occu[2] = "10sct";

Is there a way to do this ?


I know how to do it but not recusively.


PHP Code:


function get_string_between($string$start$end){
    
$string " ".$string;
    
$ini strpos($string,$start);
    if (
$ini == 0) return "";
    
$ini += strlen($start);
    
$len strpos($string,$end,$ini) - $ini;
    return 
substr($string,$ini,$len);
}

$parsed get_string_between($tache"*&""&*");
$tache str_replace("*&","<div class=\"progress-containers\"><div style=\"width:",$tache);
$tache str_replace("&*","%\">$parsed</div></div>",$tache); 


Can somebody can give me a tips ?

Peuplarchie 02-21-2011 10:59 PM

Impressive, here is what I come back with from before your post.
how to implement it with a foreach loop.

Let says instead I use index 0 to give me the whole piece and I replace the whole string with anther with the "number" index 1 with the formated html. See code

PHP Code:


preg_match_all
('/\*&([a-z0-9]+)&\*/i',$tache,$outPREG_SET_ORDER);
echo 
$out[0][0] . ", " $out[1][0] . ", " $out[2][0] . ", " $out[3][0] . ", " $out[4][0] . "\n";
$i 0;
foreach (
$out[$i][0] as &$value) {
$value str_replace("*&","<div class=\"progress-containers\"><div style=\"width:",$value);
$value str_replace("&*","%\">$value[$i][1]</div></div>",$value);
    
$i++;



wGEric 03-01-2011 12:49 AM

Your loop can be confusing. It isn't wrong but can be hard to understand what is going on since you are pretty much using it like a while loop.

PHP Code:

$i 0;
$total sizeof($out);
while(
$i $total) {
    
$value $out[$i][0];

    
$value str_replace("*&","<div class=\"progress-containers\"><div style=\"width:",$value);
    
$value str_replace("&*","%\">$value[$i][1]</div></div>",$value);
    
$i++;


PHP Code:

for($i 0$total sizeof($out); $i $total$i++) {
    
$value $out[$i][0];

    
$value str_replace("*&","<div class=\"progress-containers\"><div style=\"width:",$value);
    
$value str_replace("&*","%\">$value[$i][1]</div></div>",$value);


Here is how you would use a foreach loop.

PHP Code:

foreach($out as $val) {
    
$value $val[0];

    
$value str_replace("*&","<div class=\"progress-containers\"><div style=\"width:",$value);
    
$value str_replace("&*","%\">$value[$i][1]</div></div>",$value);


I didn't update variables in the HTML within the loop so those may be incorrect.


All times are GMT. The time now is 12:55 PM.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0