Honesty Rocks! truth rules.

Php Preg Replace

HOME      >>       Programming


Ive got a problem with preg replace, this is the code:


<table border="1"><tr><th width="70">Time</th><th width="200">IP</th><th width="70">Viewed</th></tr><?php$LogData = file_get_contents("log.txt");$Find = "/||(.*)|(.*)|(.*)||/i";$Replace = "<tr><td>$1</td><td>$2</td><td>$3</td></tr>";$Table = preg_replace($Find, $Replace, $LogData);print "$Table";?></table>

And this is whats in log.txt
||05-05-2008 12:08||1||||05-05-2008 12:00||1||||05-05-2008 12:00||1||

But it just displays like this.


Its ment to display it so that each one has its own row and is devided into colums.


You need to remember that you are working with regular expressions. The vertical bar: | is a symbol used in regular expressions so it doesn't know that it wants you to look for those. What you want to do is escape all of those out. So change your find variable to this:

$Find = "/\|\|(.*)\|(.*)\|(.*)\|\|/i";