* Thus wrote jonas_weber @ gmx. ch ([EMAIL PROTECTED]):
> 01.10.03 at 18:17 Curt Zirzow wrote:
> >preg_replace('/(?<!\\).{1}/', 'x', $term);
> 
> 01.10.03 at 18:27 CPT John W. Holmes wrote:
> >$term = preg_replace('/[^\\]./','x',$term);
> 
> they don't work (thanks anyway)

<quote orignal message>
the example below should turn any character exept "\*" (*= any
char) into an "x":
</quote>

Besides that all mine needed was a extra \ 

$term = 'char \not xed';

preg_replace('/(?<!\\\).{1}/', 'x', $term);
result: xxxxxxnxxxxx

will replace anychar that isnt escaped by \ to an x, with the side
effect that the \ gets x'd too, thus

preg_replace('/(?<!\\\)[\\\]{1}/', 'x', $term);

Finally fixes the problem:
result: xxxxx\nxxxxx

> 
> it's pretty simple: i need a regex that matches any character in a 
> string except "\*" (* stands for any char that follows the "\").
> 
> example: "this is \ba test"
> should match: this a is test
> 
> isn't there a way to do this?

This is completly different problem. It isn't a matching issue but
a replacement issue.

preg_replace('/\\\.{1}/', '', $term);

You want to remove all \* characters.

Curt
-- 
"I used to think I was indecisive, but now I'm not so sure."

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to