Eli . ei näemmä kata regexpeissä rivinvaihtoa, havainnollistan sitä OP:n oppaasta löytyvällä esimerkillä:
<?php echo preg_replace("/\\(.*?\\)/", "", "2 (kaksi) 3 (kolme)"); // 2 3 echo preg_replace("/\\(.*?\\)/", "", "2 (kaksi) 3 (ko lme)"); // 2 3 (ko lme) ?>
Olisiko jotain keinoa saada noi regexpit olemaan välittämättä rivinvaihdosta ollenkaan? Tieten voin muuttaa annettavan stringin yhdeksi pötköksi, mutta asia kiinnostaa muutenkin.
Loppuun /m (PCRE_MULTILINE) niin moniriviset muuttujat käsitellään yksirivisinä.
leftover kirjoitti:
Loppuun /m (PCRE_MULTILINE) niin moniriviset muuttujat käsitellään yksirivisinä.
<?php echo preg_replace("/\\(.*?\\)/m", "", "2 (kaksi) 3 (ko lme)"); // 2 3 (ko lme) ?>
Eli ei toiminut niin kuten halusin.
hmm, entä /s (PCRE_DOTALL) joka ottaa pisteelle kaikki merkit, mukaan lukien rivinvaihdot?
leftover kirjoitti:
hmm, entä /s (PCRE_DOTALL) joka ottaa pisteelle kaikki merkit, mukaan lukien rivinvaihdot?
Se toimii, kiitos!
Btw, osaatko antaa urlin josta näkisi noiden /s /m ja muiden päätteiden merkitykset? (Siis olettaen ette vain Googlettanut niitä vaan sinulla olisi jokin hyvä sivusto tiedossa)
Aihe on jo aika vanha, joten et voi enää vastata siihen.