Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Regexp ei välittämään rivinvaihdoista

kayttaja-2791 [29.08.2005 12:45:52]

#

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.

leftover [29.08.2005 13:06:09]

#

Loppuun /m (PCRE_MULTILINE) niin moniriviset muuttujat käsitellään yksirivisinä.

kayttaja-2791 [29.08.2005 13:09:03]

#

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.

leftover [29.08.2005 13:18:53]

#

hmm, entä /s (PCRE_DOTALL) joka ottaa pisteelle kaikki merkit, mukaan lukien rivinvaihdot?

kayttaja-2791 [29.08.2005 13:24:47]

#

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)

leftover [29.08.2005 13:43:25]

#

PHP: Regular expressions

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta