MySQL Spalteninhalt ändern teilweise löschen mit PHP

Jay Free

Mitglied
Hallo zusammen,
ich bin gerade dabei mein Script zu verbessern, in meiner alten Spalte (introtext) habe ich den Youtube-Embed Code,
ich habe mir die Video-IDs rausgelesen und in eine andere Spalte kopiert, nun möchte ich gerne den Embed-Code aus der alten Spalte entfernen, allerdings den geschrieben Text behalten.

PHP:
<?php
  mysqlconnect ...
// Darstellung
  while($row=mysql_fetch_object($ergebnis)){
    echo '<tr>'."\r\n";

    echo '<td><center>'.$row->id.'</td></center>'."\r\n";
    echo '<td><center>'.$row->yturl.'</td></center>'."\r\n";

    // Youtube ID aus EMBED Code filtern
      $url = $row->introtext;
      if (preg_match('%(?:youtube\.com/(?:user/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $url, $result)) {
      $video_id = $result[1]; }
      
    echo '<td>'.$url.'</td>'."\r\n";
    echo '<tr>'."\r\n";
 
// Funktion zum ersetzen / löschen
if ($video_id)
 {  // <- Line 67
function strip_tags($url)
  {
  $url = preg_replace('~<object width="600" height="362">(.*)</object>~', ' ', $url);

return $url;
  }

 }
}
?>

Er zeigt mir folgenden Fehler an:
Code:
Fatal error: Cannot redeclare strip_tags() in /mnt/.../mysql.php on line 67

Wo ist jetzt mein Fehler?

Liebe Grüße,
Jay
 
Zuletzt bearbeitet:
Du solltest deine Funktion nicht in einer while-Schleife deklarieren. Ansonsten wird sei bei jedem Durchgang neu erstellt

PHP:
function strip_tags($url) {
    $url = preg_replace('~<object width="600" height="362">(.*)</object>~', ' ', $url);
    return $url;
}

while($row=mysql_fetch_object($ergebnis)){
    //TODO: mach was mit strip_tags()
}
 
Zurück