Re: Converting [and] to XML format- help/advise requested

From: Date: Tue, 14 Jun 2005 16:38:56 +0000
Subject: Re: Converting [and] to XML format- help/advise requested
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-216954@lists.php.net to get a copy of this message
Dotan Cohen wrote: > Hi gurus. I'm having fun replacing the text within [ and ] to XML > format on 4000+ files on a windows XP machine. I installed php (and an > apache server) on the machine because it is the only language the I am > remotely familiar with. > > I want and text that is with [ and ] to be enclosed with <note> and > </note>. Going through the archives I found this nice regex (I changed > it a bit- I hope that I didn't break anything important) that fits > into str_replace: > > str_replace("/[([a-zA-Z]+?)]/", "<note>".$what > was_inside_the_parethesis."</note>", $string); str_replace doesnt support regular expressions http://www.php.net/str_replace what you need is preg_replace() http://www.php.net/preg_replace > But how on sweet mother Earth do I get the $what > was_inside_the_parethesis variable to stick into the note tags? I > tried functions that would remove the [ and ], then do > $new_str="<note>".$what was_inside_the_parethesis."</note>"; > and then replace the whole [$what was_inside_the_parethesis] with > $new_str. I did get that far. preg_replace( '/\[([^\]]+)\]/', '<note>\1</note>', $string); > Now the catch! If $what_was_inside_the_parethesis contains the word > 'algebra' then I want nothing returned- in other words [$what > was_inside_the_parethesis] should be cut out and nothing put in it's > place. I added an if function in there that checked the presence of > the word algebra, but it ALWAYS returned blank. preg_replace( '/\[(algebra|([^\]]+))\]/', '<note>\2</note>', $string); just to mention, you need only the second example, the first ist just to explain the step toward the final ocde. -- Sebastian Mendel www.sebastianmendel.de www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet

« previous php.general (#216954) next »