| 
	
 | 
 Posted by Rik Wasmus on 11/05/07 20:56 
On Mon, 05 Nov 2007 20:11:49 +0100, Schroeder, AJ <aj1@qg.com> wrote: 
 
> Hello group, 
> 
> I am attempting to remove double quotes from the beginning and ending = 
of  = 
 
> a 
> string. Admittedly, I am not the best with regular expressions, but I = 
do 
> have two that work with preg_replace(). Here they are: 
> 
>     $pattern =3D '[^"]';    <--- removes the beginning double quote 
>     $pattern =3D '["$]';    <--- removes the ending double quote 
> 
> But when I try to make this all one statement with: 
> 
>     $pattern =3D '[^"].*["$]'; 
> 
> PHP throws a warning with an unknown modifier '.'. I then tried to  = 
 
> enclose 
> '.*' in parentheses and I get an unknown modifier '('. 
 
Yes indeed. 
The preg_* function expect a pattern like this: 
(delimiter)(pattern)(delimiter)(modifiers) 
 
You are free to choose your own delimiter ('/' is pretty standard), and = 
a  = 
 
second occurance of that character is assumed to end the pattern and sta= 
rt  = 
 
the modifiers. (I'm actually quite ammazed it matches '[' to ']', a quit= 
e  = 
 
rigid implementation would throw an error stating that " was an unknown = 
 = 
 
modifier). 
 
$string =3D preg_replace('/(^"+|"+$)/','',$string); 
-- = 
 
Rik Wasmus
 
  
Navigation:
[Reply to this message] 
 |