ereg_replace() einzelne Zahlen mit regulären Ausdruck

djnelly

Erfahrenes Mitglied
Hallo Community,

ich habe eine Frage zu regulären Ausdrücken.
Ich möchte in einem Text folgendes ersetzen:

Text:
Dies ist ein Beispieltext mit 52 Zeichen. 5 Zeichen davon sind ...

Ersetze:
"5" mit "<strong>5</strong>"
... aber nur eine einzelne, alleinstehende 5, nicht die 5 in 52.

Danke!
 
PHP:
 <?PHP
  //
  // Text, der durchsucht werden soll
  //
  $subject = 'Dies ist ein Beispieltext mit 52 Zeichen. 5 Zeichen davon sind';
  //
  // Der Reguläre Ausdruck
  //
  $pattern = '/(?<!\d)(\d)(?!\d)/';
  //
  // Ersatzstring
  //
  $replace = '<strong>\1</strong>';
  //
  // RegExp auswerten, Ersetzung durchführen
  //
  $result = preg_replace($pattern, $replace, $subject);
  //
  // Ergebnis ausgeben
  //
  echo '<p>Ergebnis: '.htmlspecialchars($result).'</p>';
?>

Und hier der Test:
http://regexp-evaluator.de/evaluator/923dc44300e859c3e24d01c1d0ada731/#ergebnis

Und der Link zu der Erklärung der Klammern mit den !
http://php.net/manual/de/regexp.reference.assertions.php
 
Zurück