phpbar.de logo

Mailinglisten-Archive

[php] Zwischen zwei Zeichen finden

[php] Zwischen zwei Zeichen finden

Alex Emken php at emken.com
Die Sep 26 22:42:44 CEST 2006


Achim Fink wrote:

> Ich habe in einem Text jede menge leerzeichen, möchte aber nur die
> Leerzeichen in einem mit „“ gekennzeichneten Teil ersetzen.

Hi Achim,

das "zwischen zwei Zeichen finden ist wohl eher nicht das Problem. Aber
darin noch was zu ersetzen. Dafür muss man IMHO eine Callback-Funktion
nutzen:

<?php

$text = ' das ist ein link: <a href="das ist der Link">LINK</a>';

function myReplace($matches) {
    return str_replace(' ', '_', $matches[1]);
}

$output = preg_replace_callback('%("[^"]+)%', "myReplace", $text);

echo $output;

?>

Der RegEx sucht nach allen Zeichenketten die in " eingeschlossen sind
und übergibt diese der Callback-Funktion. Die ersetzt dann Leerzeichen
mit Unterstrichen und gibt den ersetzten Text zurück.

Gruß,
Alex


php::bar PHP Wiki   -   Listenarchive