Hi Peter,

You could try this:


$string = "Blah <i>italic</i><input type=\"name\"> Blah <b>bold</b>";

$new_string = preg_replace("/<input(.*?)>/i", "<input\\1 class=3D>",

echo "$string<br><br>$new_string";


preg_replace = regular expression replacement
<input = first part of tag
(.*?) = whatever, but not:

.* is greedy... Match any character . as many times * as necessary, made
less greedy because the ? looks for whatever's to the right of it....  If
you did:

preg_replace("/<input(.*)>/i", "<input\\1 class=3D>", $string);

it might replace <input type="text" name="blah"><input type="file"> with
<input type="text" name="blah"><input type="file" class=3D>

Instead of
<input type="text" name="blah" class=3D><input type="file" class=3D>
Which is what you want.

The \\1 is what you have captured from the first (and in this case, only)
set of parentheses ()

The i after the delimiter means case insensitive.

Note, I didn't have time to check that this works, but you get the principle


"Psychosphere2k" <[EMAIL PROTECTED]> wrote in message

I have a fairly large PHP based website.
Unfortuantely, I didn't make extensive use of stylesheets.

I'm hoping for some help with regular expressions matching ( and =
replacing ) some tags.
I use output buffering, so it would be a simple case of adding some =
lines to my
output hanlder.

replacing  < input .... > with < input ....  class =3D "something " >
and < body .... > with < body .... class =3D "something_else" >

Some code, with comments would be really great.

Thanks in advance.

Peter Gibson

PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to