<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Dieser Teil des Codes hat nichts mit dem Inhalt des Artikels zu tun,Zum Beispiel Demonstration</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Beginnen Sie mit der Ausführung des Skripts...\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h2>strip_tags Und preg_replace Wenn zusammen verwendet,Implementieren Sie die Filterung und Verarbeitung von benutzerdefinierten Tags?</h2>
<p>existierenPHPMitte,bewältigenHTMLWenn String,经常需要对其Mitte的标签进行过滤或替换。<code></span><span><span class="hljs-title function_ invoke__">strip_tags</span></span><span>()
Wie aus dem Beispiel hervorgeht, werden nur die <strong> -Tags zurückgehalten und andere Tags gelöscht.
PREG_REPLACE unterstützt regelmäßige Ausdrücke, mit denen komplexe Tag -Formate angepasst und sogar Attribute in Tags verarbeitet werden können. Zum Beispiel:
</span><span><span class="hljs-variable">$html</span></span><span> = </span><span><span class="hljs-string">"<p class='intro'>Beispieltext</p>"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-string">'/<p[^>]*>/i'</span></span><span>, </span><span><span class="hljs-string">'<div class="new-intro">'</span></span><span>, </span><span><span class="hljs-variable">$html</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>;
</span><span><span class="hljs-comment">// Ausgabe:<div class="new-intro">Beispieltext</p></span></span><span>
Hier verwenden wir regelmäßig alle Attribut -Tags durch neue Klasse & lt ; div & gt ; Tags. p > <h3> iii . Kombinieren Sie Strip_Tags und PREG_REPLACE, um benutzerdefinierte Tag -Filterung und -verarbeitung zu implementieren H3 > <p> strip_tags hat eine einfache Funktion, und es ist unmöglich , die Tag -Attribute zu beurteilen, und es kann auch nicht kompliziert sein, mit dem Inhalt des Tags umzugehen. In Kombination mit PREG_REPLACE können Sie zuerst das benutzerdefinierte Tag als Standard-Tags durch Regelmäßigkeit ersetzen oder Attributanpassungen vornehmen und dann mit Strip_Tags nicht geloglierte Tags filtern. P > <p> Beispiel : Wir wollen nur das & lt ; B & gt ; und & lt ; a & gt ; Tags, aber wir müssen die benutzerdefinierten Tags & lt ; mytag & gt ; zu & lt ; span & gt ; und nur das HREF -Attribut für das & lt ; a & gt ; Tags . p > < pre href = ' http : // Beispiel . com ' title =' title '& gt ; link & lt ;/ a & gt ; und & lt ; B & gt ; deutlich& ; / B & gt ;. "// Schritt 1: Ersetzen Sie & lt ; mytag & gt ; mit & lt ; span & gt ; $ html = preg_replace (['/& lt ; \/? Mytag & gt ;/ i '], [ function ($ Matches ) { Return { return str_ireplace ([ 'mytag' , '/mytag' ], [ 'span' , '/span' ], $ Matches [ 0 ]); }], $ html ); // Schritt 2: Filtern Sie die Nicht-HREF-Attribute des <a> Tags heraus $ html = preg_replace_callback ( '/<a \ s+([^>]*)>/i' , function ( $ übereinstimmt ) { // behalten nur das HREF -Attribut bei if ( preg_match ( '/href \ s*= \ s*["\']? ([^" \ '> \ s]+) ["\']?/i ' , $ Matches [ 1 ], $ hrefMatch )) { return return ' <a href = "'. $ hrefMatch [1]. '"> ' ; } zurückkehren '<a>' ; }, $ html ); // Schritt 3: Verwenden Sie Strip_Tags, um die angegebenen Tags beizubehalten $ result = strip_tags ( $ html , '<b> <a> <span>' ); Echo $ Ergebnis ; Auf diese Weise wird das Original <MyTag> durch <span> ersetzt, und das <a> Tag behält nur das HREF -Attribut bei, und nur <b>, <a> und <span> Tags dürfen als Ganzes beibehalten werden und andere Tags werden entfernt.
Das angemessene Design regelmäßiger Ausdrücke und Filterlogik gemäß den Anforderungen ist der Schlüssel zur Implementierung der kundenspezifischen Etikettenfilterung und -verarbeitung.