André Laugks: regular expressions

Beitrag lesen

Hallo!

...

Zitattext.<br />
  <i class="author">Autor</i><br /><br />

<!--kommentar-->
  Zitattext.<br />
  <i class="author">Autor</i><br />

Zitattext.<br />
  <i class="author">Autor</i><br /><br />
  <small>(Anmerkungstext)</small><br /><br />

<!--kommentar-->
  Zitattext.<br />
  <i class="author">Autor</i><br /><br />
  <small>(Anmerkungstext)</small><br /><br />

...

Vorausgesetzt, daß das Zitat immer folgendes Format hat:

<i class="author">Autor</i><br /><br />
<small>(Anmerkungstext)</small><br /><br />

<?PHP

$htmlzitate = '  Zitattext.<br />
  <i class="author">Lisa</i><br /><br />
  <small>Lisa-Zitat</small><br /><br />

<!--kommentar-->
  Zitattext.<br />
  <i class="author">Peter</i><br /><br />
  <small>Peter-Zitat</small><br /><br />';

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

function zitat($string)
 {
  preg_match("/<i class="author">(.*)</i>/", $string, $author);
  $zitat['author'] = htmlspecialchars($author[1]);
  preg_match("/<small>(.*)</small>/", $string, $text);
  $zitat['text'] = htmlspecialchars($text[1]);
  return $zitat;
 }

preg_match_all("/(<i class="author">(.*?)</small>)/is", $htmlzitate, $match);

for($i = 0; $i < sizeof($match[1]); $i++)
 {
  //print_var(htmlspecialchars($match[1][$i]));
  $zitatliste[] = zitat($match[1][$i]);
 }

print_var($zitatliste);

?>

MfG, André Laugks

--
L-Andre @ gmx.de