|
Posted by Justin Koivisto on 11/18/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]
|