| 
	
 | 
 Posted by Justin Koivisto on 06/17/51 11:43 
Disco Octopus wrote: 
> Hi, 
>  
> I think I am need of a regular expression with regards to a str_replace 
> need that I have... 
>  
> I have a string like this one... 
>  
> "text text text{ 
> text 
> } text {text text } t {text} txt { text }" 
>  
> I need to replace all occurances of "{" with "{ " and "}" with " }" where 
> the following rules apply... 
>  
> replace "{" with "{ " when the character to the right of "{" is NOT 
> <newline> and is NOT <space> and is NOT <tab>. 
>  
> replace "}" with " }" when the character to the left of "}" is NOT 
> <newline> and is NOT <space> and is NOT <tab>. 
>  
> So, the result in my example above would be.... 
>  
> "text text text{ 
> text 
> } text { text text } t { text } txt { text }" 
>  
> Would anyone possibly know how to do this? 
 
You would need to use both a zero-width negative look-ahead and a  
zero-width negative look-behind with prel style regex... 
 
<?php 
$s =<<<EOS 
text text text{ 
text 
} text {text text } t {text} txt { text } 
EOS; 
 
$search1='`\{(?![\s\r\n\t])`'; 
$replace1='{ '; 
$s=preg_replace($search1,$replace1,$s); 
 
$search2='`(?<![\s\r\n\t])\}`'; 
$replace2=' }'; 
$s=preg_replace($search2,$replace2,$s); 
 
echo $s; 
 
?> 
 
 
--  
Justin Koivisto, ZCE - justin@koivi.com 
http://koivi.com
 
  
Navigation:
[Reply to this message] 
 |