extrovertive Posted January 26, 2011 Share Posted January 26, 2011 $text = "wow {one|two|three}fsasfa happy ness"; preg_match('/\b{*+}\b/i', $text, $matches); print_r($matches); Basically, $matches will contain "one|two|three" - but all I got is an array with "}" Link to comment https://forums.phpfreaks.com/topic/225689-extract-text-between-curly-braces-why-doesnt-my-code-work/ Share on other sites More sharing options...
QuickOldCar Posted January 26, 2011 Share Posted January 26, 2011 Might be easier way, but I just did it like this. <?php $text = "wow {one|two|three}fsasfa happy ness"; $matches = array(); preg_match_all('#\{.*?\}|[^ ]+#', $text, $matches); foreach ($matches[0] as $word) { $v = array(); if (preg_match('#^\{(.*)\}$#', $word, $v)) { echo '<strong>' . htmlspecialchars($v[1]) . '</strong>'; } else { echo htmlspecialchars($word); } echo '<br />'; } ?> Results be wow one|two|three fsasfa happy ness Now can do anything you want with the matching values Link to comment https://forums.phpfreaks.com/topic/225689-extract-text-between-curly-braces-why-doesnt-my-code-work/#findComment-1165308 Share on other sites More sharing options...
PaulRyan Posted January 26, 2011 Share Posted January 26, 2011 Hope I am not imposing, but this would work too. <?PHP $text = "wow {one|two|three}fsasfa happy ness"; $newTxt = explode('{',$text); $result = array(); if(count($newTxt) > 1) { foreach($newTxt AS $value) { if(strstr($value,'}')) { $value = explode('}',$value); $result[] = $value[0]; } } print_r($result); } else { echo 'No Results'; } ?> This assumes that all text between { AND } needs to be retrieved. Try it out and tell me how it goes Regards, PaulRyan. Link to comment https://forums.phpfreaks.com/topic/225689-extract-text-between-curly-braces-why-doesnt-my-code-work/#findComment-1165448 Share on other sites More sharing options...
AbraCadaver Posted January 26, 2011 Share Posted January 26, 2011 preg_match('/{([^}]+)}/i', $text, $matches); Link to comment https://forums.phpfreaks.com/topic/225689-extract-text-between-curly-braces-why-doesnt-my-code-work/#findComment-1165539 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.