Peuplarchie Posted February 21, 2011 Share Posted February 21, 2011 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. 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 ? Quote Link to comment https://forums.phpfreaks.com/topic/228358-put-in-seperate-var-content-whats-in-between/ Share on other sites More sharing options...
Peuplarchie Posted February 21, 2011 Author Share Posted February 21, 2011 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 preg_match_all('/\*&([a-z0-9]+)&\*/i',$tache,$out, PREG_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++; } Quote Link to comment https://forums.phpfreaks.com/topic/228358-put-in-seperate-var-content-whats-in-between/#findComment-1177929 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.