André Laugks: Regulärer Ausdruck: Mehrzeiliger String

Beitrag lesen

Hallo!

Ich habe einen mehrzeiligen String, bei dem ich den Steinname und Farbnamen holen möchte. Im Quelltext steht der String aber über mehrere Zeilen. Bei den Zeilenanfängen- und enden befinden sich nicht nur Leerzeichen sondern auch Tabulatoren.

Gibt es eine Möglichkeit die zu erfassen? Mit \m bekomme ich es nicht hin. Ich könnte nach jedem Tag ein [\s\t] setzen oder mit suchen&ersetzen entfernen, was auch funktioniert nur eben unbefriedigend.

<?PHP

function print_var($var)
 {
  echo "<pre>";
  echo var_dump($var);
  echo "</pre>";
 }

$string = '  <div class="divStein">
    <div class="divBild"><img src="../../../p30_Produkte/341_bordsteine_leisten/h8.jpg" width="110" height="110"></div>
    <div class="divBeschreibung"><span class="textTitel">Steinname
      </span><br>
      <span class="textFarbe">Farbe</span></div>
    <div class="divPreislsite"><img src="../../../p_Allgemein/pfeil_css.gif" width="4" height="7" alt="&gt;" border="0" class="imgPfeil"><a href="341_p_bor_lei.htm#h7" target="_self" class="linkpreisliste">Preisliste</a></div>
  </div>';
$regExp = '<div class="divBeschreibung"><span class="textTitel">(.*)</span><br><span class="textFarbe">(.*)</span></div>';

preg_match('/' . preg_quote($regExp, "/") . '/im', $string, $output);

print_var($output);

?>

MfG, André Laugks

--
L-Andre @ gmx.de