Welcome to WebmasterWorld Guest from 54.147.0.174

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

PHP regular expression

     

orion_rus

4:50 pm on Dec 19, 2005 (gmt 0)

10+ Year Member



Hello world,
I have to ask you about preg_replace
i need to change <table> -> [table] and </table> -> [/table]
can i make it both in a one expression?
Thanks in advance!

DanA

5:51 pm on Dec 19, 2005 (gmt 0)

10+ Year Member



You can try this :
$test="<table>anytext</table>";
$patterns=array("/<table>/","/<\/table>/");
$replacements=array("[table]","[/table]");
$test=preg_replace($patterns,$replacements,$test);

ergophobe

6:35 am on Dec 20, 2005 (gmt 0)

WebmasterWorld Administrator ergophobe is a WebmasterWorld Top Contributor of All Time 10+ Year Member Top Contributors Of The Month



Because </table> just is what it is, I would just use a str_replace().

For table, presumably you want something that can catch
<table class="someclass">

In that case, a pattern like

$pattern = '/<(table([^><]*>/U';

should work.

orion_rus

10:45 am on Dec 21, 2005 (gmt 0)

10+ Year Member



Thanks for answers!
It works great!

killroy

11:17 am on Dec 21, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



if u want a single pattern and replace for both jsut use this pattern:

\<(/?table(?: [^>]*))\>

and replace with <$1>

SN

 

Featured Threads

Hot Threads This Week

Hot Threads This Month