mam wyrażenie:
<?php $text = preg_replace( '#(W)?'.$r['pattern'].'([:spac:].;,\nr])#si', '1' .$r['replace']. '2', $text ); ?>
$r['pattern'] w tym przypadku dla uproszczenia to aaa a $r['replace'] to AAA.
i mamy ciąg do zamiany
Kod
aaa bbb.aaa bbb abbb baaa
problem jest taki że ciąg baaa jest zamieniany na bAAA, natomiast jeśli zamiast (\W)? dam samo (\W) to nie zamienia, ale za to ciąg aaa z poczatku nie jest zamieniany. powyższe wyrażenie powinno zamienić ciąg na:
Kod
AAA bbb.AAA bbb abbb baaa
natomiast zamienia albo na
Kod
aaa bbb.AAA bbb abbb baaa
albo na
Kod
AAA bbb.AAA bbb abbb bAAA
Proszę o pomoc