sziasztok,
kellene egy regularis kifejezes, ami kicsereli egy stringben a "?" jeleket, de csak akkor, ha nincs aposztrofok kozott.
print preg_replace("regularis kifejezes", "Q", "? '?' ? 'barmi?' ? '?valami' ? 'akar?mi'");
a kimenet a kovetkezo lenne:
Q '?' Q 'barmi?' Q '?valami' Q 'akar?mi'
koszi!
azta mennyi jo otlet/megoldas! ugyesek vagytok!
update:
viszont ha mar group van, azt lehet tudni hogy hanyadik talalat?
mert a vegen @P1, @P2, @P3, stb-ra kell lecserelnem a "?"-t, hatha megy 1 utasitassal.
tehat ez lenne a vegleges string:
@P1 '?' @P2 'barmi?' @P3 '?valami' @P4 'akar?mi'
ebbol mar biztos latszik, hogy parameteres query-t akarok csinalni, es "exec sp_executesql"-el vegrehajtani.
az sqlsrv driverrel mar igy csinalja, de ahol meg php-sybase van, ott nekem kell ezt megoldanom.
sajnos php5 alatt nekem nem fordul egyik verzioja sem az sqlsrv-nek "pecl install sqlsrv", meg az a verzio sem ahol nem dobtak a php5 tamogatast, meg ki tudja azota mennyi hibajavitas van benne, igy marad a php-sybase, es kulon megcsinalni a parameteres query-t.
koszi!
update2:
a dupla aposztrofok nem szamitanak aposztrofnak, de szovegen (aposztrofon) belul helyezkedhetnek el.
pl. '''' (4 aposztrof) az aposztrofok kozott levo 1db aposztrof amit egy masik aposztrof escapel.
vagy pl. 'it''s' = "it's" szoveg aposztrofok kozott.
update3:
hopp, meg vannak meg megjegyzesek "--"-vel kezdodoen sorvegig, stb.
talan a legjobb az lenne, ha megneznem az sqlsrv forrasat, ott mar elvileg megoldottak.
update4:
csak azert irom hogy megoldva, hogy ne turaztassatok magatokat rajta, ennyibol mar menni fog.
koszi!