Fjerne deler av tekst fra string

Tonny Kluften

Administrator
Jeg har følgende string:
$content = 'Den blå hatten passer ikke. Men det gjør den rød.';

Jeg ønsker å fjerne: "hatten passer", slik at
echo $content gir
"Den blå hatten ikke. Men det gjør den rød."

Saken er at "hatten passer" kan være variabel, så jeg kan ikke bruke str_replace, jeg må ha en regex av noe slag.

"Den blå" og "Men det gjør den rød" - dette er statiske tekster - så det er det i mellom som kan variere, og skal kunne fjernes.
 

Ronnie Sletta

New Member
Det er mulig jeg leser deg feil, men jeg ville konstruert strengen gjennom variabler, og med det få kontroll til å manipulere strengen som du ønsker.

$a = 'Den blå'
$b = ' hatten passer '
$c = 'ikke'
$d = '. Men det gjør den rød.'
$content = $a . $b . $c . $d
 

beatngu

Member
Her har du regex som fjerner det i mellom og du kan legge inn egen tekst.

$result = preg_replace('/(?<=Den blå).*(?=Men det gjør den rød)/', 'Dintekst', $content);
 
Topp