Aktueller Standort: Startseite> Neueste Artikel> Tipps zum Kombinieren von OB_LIST_HANDLERS und OB_GET_CLEAN

Tipps zum Kombinieren von OB_LIST_HANDLERS und OB_GET_CLEAN

gitbox 2025-05-28

In PHP ist die Ausgabesteuerung eine sehr praktische Funktion, insbesondere wenn Sie die Ausgabe vor der Seite rendern müssen. OB_LIST_HANDLERS () ist eine Werkzeugfunktion, die sich auf PHP -Ausgangspufferung bezieht. Obwohl es nicht so häufig verwendet wird wie OB_Start () und ob_get_clean () , ist es sehr hilfreich, wenn der aktuelle Ausgangsstapel -Status debuggen und verstanden werden.

In diesem Artikel werden Sie schneller die Verwendung von OB_LIST_HANDLERS () verstehen und Ob_get_Clean () kombinieren, um einen praktischen Tipp anzuzeigen.

Was ist OB_LIST_HANDLERS () ?

Die Funktion OB_LIST_HANDLERS () wird verwendet, um alle registrierten Ausgangshandler im aktuellen Ausgangspuffer zurückzugeben. Diese Handler werden normalerweise von Ihnen oder dem Framework angegeben, wenn Sie ob_start () wie OB_GZHandler aufrufen.

Der Funktionsprototyp lautet wie folgt:

 array ob_list_handlers(void)

Beispiel 1: Zeigen Sie den Prozessor des aktuellen Puffer an

 <?php
// Starten Sie a gzip Druckpuffer
ob_start('ob_gzhandler');

// Zeigen Sie die aktuelle Ausgangsprozessorliste an
print_r(ob_list_handlers());

// Löschen Sie den Puffer
ob_end_clean();
?>

Die Ausgabe kann ähnlich sein:

 Array
(
    [0] => ob_gzhandler
)

Diese Funktion ist sehr zum Debuggen geeignet, z. B. wenn Sie nicht sicher sind, welche Handler in komplexen Anwendungen abgefangen oder verarbeitet werden.

Verwenden Sie OB_get_Clean (), um den Ausgabinhalt zu steuern

Manchmal müssen wir ein bestimmtes Stück Ausgangsinhalt erfassen, ihn (z. B. regelmäßiger Austausch, Protokollierung usw.) verarbeiten und dann ausgeben. Zu diesem Zeitpunkt können wir Ob_Start () und ob_get_clean () verwenden, um dies zu erreichen.

Beispiel 2: Filtern Sie den Namen der Bildadressendomänenname in der HTML -Ausgabe

 <?php
ob_start();

// Angenommen, dies ist die Ausgabe eines Teils Ihrer Seite
?>
<div>
    <img src="https://example.com/uploads/pic1.jpg" />
    <img src="https://example.com/uploads/pic2.jpg" />
</div>
<?php

$content = ob_get_clean();

// Der Domain -Name, der die Bildadresse ersetzt gitbox.net
$filtered = str_replace('https://example.com', 'https://gitbox.net', $content);

echo $filtered;
?>

Ausgabe:

 <div>
    <img src="https://gitbox.net/uploads/pic1.jpg" />
    <img src="https://gitbox.net/uploads/pic2.jpg" />
</div>

Diese Methode ist besonders geeignet, wenn Sie die Ausgabe einheitlich verarbeiten möchten (z. B. Hinzufügen von Statistikskripten, Komprimieren von HTML, Änderung von Links). Durch die Verwendung von OB_LIST_HANTLERS () können Sie auch sicherstellen, dass während der Entwicklung keine unnötige Handler -Eingriffe in die Ausgabelogik vorliegen.