seth: (PHP) verstehe meine regexp nimmer...

Beitrag lesen

gudn tach!

$html_body = preg_replace('/((?i)href=)"?(?!(mailto:[\S^>^"]*)|(http:[\S^>^"]*))([\S^>^"]*)/', '\1"index.php?aktion=informationen&thema='.$ref_korrektur.'\2', $html_body);

  1. Warum scheitert meine regexp nicht an "mailto:" und "http:"?

wegen dem fragezeichen im "? davor, denke ich.

  1. Woher kommen denn die schließenden Anführungszeichen (sowohl bei den Bildquellen, als auch bei den Verweiszielen)?

aeh, du moechtest wissen, wie du du sie einfuegen kannst, oder?

Bin um jeden Denkanstoß dankbar.

zuerst s/href=([^"])/href="\1/g und dann
$html_body=preg_replace('/((?i)href=)"(?!(?:mailto:|http:))([\S^>^"]*)(?:")?/', '\1"index.php?aktion=informationen&thema='.$ref_korrektur.'\2"', $html_body);

prost
seth