kavkazi Posted November 29, 2010 Share Posted November 29, 2010 Hi, I need to analyze a string and get the text between, before, and after the forward slashes.. The string will always look something like this, but will vary: $str = "I will go to the store with <# one/two/three #> people." Then I need to create a form with radio buttons for each choice. In this case (one, two, or three). The text between the <# ... #> could be different every time, and with uknown amount of forward slashes. Here is what I have so far but it doesn't work. Code to find if there are slashes: preg_match_all( '/([/]+)/',$str,$matches); Code to create html form .. $i = 0; $html = '<form>'; foreach ($matches[0] as $match){ if ($pos = strpos( $str,$match ) ) === false ) continue; } $html .= '<input type="radio" name="place-' . $i . '" value=". $match . '" /> '; } $html .= '</form>'; Its not working as needed. I'm not sure how to create radio button choices for the words (one, two, three). Thanks Quote Link to comment Share on other sites More sharing options...
Pikachu2000 Posted November 29, 2010 Share Posted November 29, 2010 It sounds like you've already extracted the text between the hashes, and are left with the slash-separated text? <?php $i = 0; $string = array('This/is/a', 'string/with', 'a/number/8', 'and/more/delineated', 'random/slashes/and/text'); foreach( $string as $val ) { foreach( explode('/', $val) as $v ) { echo "Var: " . trim($v) . ": <input type=\"radio\" name=\"place[$i]\" value=\"" . trim($v) . "\"><br>\n"; } $i++; echo '<br><br>'; } ?> Quote Link to comment Share on other sites More sharing options...
Pikachu2000 Posted November 29, 2010 Share Posted November 29, 2010 Note: I edited the above, and added the trim() function in the output . . . Quote Link to comment Share on other sites More sharing options...
kavkazi Posted November 29, 2010 Author Share Posted November 29, 2010 yes, i've already extracted the text between the hashes. The problem is, the text between the hashes doesnt always contain a slash. Sometimes it can be just a regular text. For example: $string = array('Hello', 'string/with', 'Hi Pals', 'and/more/delineated', 'random/slashes/and/text'); Quote Link to comment 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.