zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > (X)HTML
Seite neu laden Umwandlung in String

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 02.08.2016, 16:53
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 02.08.2016
Beiträge: 16
Mallorcagirl befindet sich auf einem aufstrebenden Ast
Standard Umwandlung in String

Hi,

folgende Funktion habe ich für mein WordPress Theme entwickelt...funktioniert auch...Würde Sie aber gerne in einen String umschreiben, damit "the_content" in dem Part des Themes nicht generell, sondern nur bei dem einen Aufruf betroffen ist. Weiß jemand, wie ?

Code:
<?php function remove_video ($content) {
$content = preg_replace("/<iframe[^>]+\>/i", "", $content);          
return $content;
}
add_filter('the_content', 'remove_video');

			 the_content();?>
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 02.08.2016, 17:44
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.655
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Mallorcagirl Beitrag anzeigen
Hi,

folgende Funktion habe ich für mein WordPress Theme entwickelt...funktioniert auch...Würde Sie aber gerne in einen String umschreiben, damit "the_content" in dem Part des Themes nicht generell, sondern nur bei dem einen Aufruf betroffen ist. Weiß jemand, wie ?

Code:
<?php function remove_video ($content) {
$content = preg_replace("/<iframe[^>]+\>/i", "", $content);          
return $content;
}
add_filter('the_content', 'remove_video');

			 the_content();?>
Was ist "der eine Aufruf"?

So was gehört eigentlich in die functions.php
https://codex.wordpress.org/Functions_File_Explained
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 02.08.2016, 17:45
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 02.08.2016
Beiträge: 16
Mallorcagirl befindet sich auf einem aufstrebenden Ast
Standard

Das ist mir schon klar. Da kann ich es aber nicht brauchen, weil es dann generell wirkt. ich will es nur in der ienen single.php so haben...Wie schreibe ich das als String um ?
Mit Zitat antworten
  #4 (permalink)  
Alt 02.08.2016, 17:55
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.655
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Mallorcagirl Beitrag anzeigen
Das ist mir schon klar. Da kann ich es aber nicht brauchen, weil es dann generell wirkt. ich will es nur in der ienen single.php so haben...Wie schreibe ich das als String um ?
Das dir das klar ist, können wir nicht Wissen.

Aber welchen Vorteil erhoffst du dir davon, dass du diesen Hook in ein Templatedatei packst?
Ein Filter wird ja nur dann aufgerufen, wenn das Ereignis eintritt.

Deine Frage an sich ergibt aber keinen Sinn. Eine PHP Funktion ist eine PHP Funktion und eine String ist ein String, du kannst nicht das eine als das andere benutzen.
Mit Zitat antworten
  #5 (permalink)  
Alt 02.08.2016, 18:02
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 02.08.2016
Beiträge: 16
Mallorcagirl befindet sich auf einem aufstrebenden Ast
Standard

Das Problem ist, dass ich aus "the_content" das Video (iframe) herausfiltern muss...da weiss ich gar nicht wie man das schreibt im Moment und zugleich den Rest den Inhalts (Text), was ich mit der Funktion gemacht habe. Dies brauche ich, damit ich beide Inhalte voneinander trennen und eigenständige im Template positionieren kann (leider liegen die beide in der gleichen Datenbanktabelle).

Wenn ich aber die Funktion so benutze, wird sie, wenn ich das zweite mal ausserhlab der Funktion auf die Abfrage "the_content" aufrufe wieder wirksam. Das heißt, ich brauche sie so, dass sie filtert, aber eben nur einmal (eine Abfrage) und dass danach die Abfrage "the_content" wieder ganz normal funktiniert. Deswegen habe ich gefragt ob man das auch als STring umsetzen kann zumal ich auch noch eine Abfrage bräuchte wie ich nur den iframe abbilde.
Mit Zitat antworten
  #6 (permalink)  
Alt 02.08.2016, 18:17
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.655
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Mallorcagirl Beitrag anzeigen
Das Problem ist, dass ich aus "the_content" das Video (iframe) herausfiltern muss...da weiss ich gar nicht wie man das schreibt im Moment
genau so wie du es machst. Dazu erzeugst du einen Hook/Filter der dann zur Laufzeit das filtert was du möchtest.

Zitat:
Zitat von Mallorcagirl Beitrag anzeigen
und zugleich den Rest den Inhalts (Text), was ich mit der Funktion gemacht habe. Dies brauche ich, damit ich beide Inhalte voneinander trennen und eigenständige im Template positionieren kann (leider liegen die beide in der gleichen Datenbanktabelle).
Für genau solche Zwecke gibt es solche Filter.

Zitat:
Zitat von Mallorcagirl Beitrag anzeigen
Wenn ich aber die Funktion so benutze, wird sie, wenn ich das zweite mal ausserhlab der Funktion auf die Abfrage "the_content" aufrufe wieder wirksam. Das heißt, ich brauche sie so, dass sie filtert, aber eben nur einmal (eine Abfrage) und dass danach die Abfrage "the_content" wieder ganz normal funktiniert.
Das verstehe ich nicht. Ein Filter wirkt in dem Moment wo der Hook - in deinem Fall "the_content" - aktiv wird. Das ist aber bei diesem Filter nur einmal pro Aufruf.

the_content() ist keine Abfrage, sondern gibt den Inhalt des aktuellen Datensatz (oder in der WP Sprache des Post) aus und funktioniert immer "normal".
Mit Zitat antworten
  #7 (permalink)  
Alt 02.08.2016, 18:21
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 02.08.2016
Beiträge: 16
Mallorcagirl befindet sich auf einem aufstrebenden Ast
Standard

Ja aber mit the_content ruft man normal den inhalt des ganzen Postings auf.
Wenn ich jetzt mit "the_content" mit meinem Filter einmal diese funktion aufrufe und danach noch einmal (ausserhalb der Funktion" the_content aufrufe, dann ruft er mir das ja wieder so auf, wie im Filter...ich will aber dass er es beim ersten aufruf filtert und beim zweiten nicht mehr
Mit Zitat antworten
  #8 (permalink)  
Alt 02.08.2016, 18:49
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.655
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Mallorcagirl Beitrag anzeigen
Ja aber mit the_content ruft man normal den inhalt des ganzen Postings auf.
Wenn ich jetzt mit "the_content" mit meinem Filter einmal diese funktion aufrufe und danach noch einmal (ausserhalb der Funktion" the_content aufrufe, dann ruft er mir das ja wieder so auf, wie im Filter...ich will aber dass er es beim ersten aufruf filtert und beim zweiten nicht mehr
Nein. the_content() gibt den aktuellen Datensatz aus, der Filter bewirkt das während der Ausgabe der Inhalt bearbeitet werden kann, bevor er ausgegeben wird. Der Filter ändert nicht die Daten des aktuellen Post, sondern wirkt nur auf die Ausgabe.

Das was du willst ist so nicht möglich. aber auch nicht üblich. Zum positionieren kannst du CSS verwenden.
Mit Zitat antworten
  #9 (permalink)  
Alt 02.08.2016, 22:13
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 02.08.2016
Beiträge: 16
Mallorcagirl befindet sich auf einem aufstrebenden Ast
Standard

OK hab bereits ne andere Lösung gefunden. Dennoch bitte noch eine Frage: Wie kann ich denn aus "the_content" genau das, was ich vorher weggefilter haben (den iframe) herausfiltern, also dass nur noch der iframe angezeit wird und sonst nichts mehr. Das müsste doch machbar sein oder, weil wenn ich ihn rauslassen und damit ja angreifen kann, muss ich ihn doch auch extrahieren können oder ?

Vielleicht irgendwie so in die Richtung ? (Geht aber leider noch nicht)

Zitat:
<?php $content = get_the_content(); ?>
<?php preg_match('/<iframe[^>]+\>/i', $content, $matches);
$video_url = $matches[1];
?>

<?php echo $video_url?>
Wenn ich auf diese Weise das IMG des Postings (anstatt von iframe) ziehe, geht es..

Das sieht dann so aus:

Zitat:
<?php $content = get_the_content(); ?>
<?php preg_match('/<img.*src="(.*)".*>/U', $content, $matches);
$video_url = $matches[1];
?>

<?php echo $video_url?>
Was mache ich denn noch falsch ? Eigentlich müsste es gehen, weil der iframe sich ja umgekehrt in dem anderen Code oben auch angreifen und filtern lässt. Hat jemand ne Idee ?

Geändert von Mallorcagirl (03.08.2016 um 01:47 Uhr)
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 03.08.2016, 07:10
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.655
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Warum positionierst du nicht mit CSS? Das wäre doch einfacher.

um an den Teilstring des Ausdrucks zu kommen, musst du diese mit einer Klammer gruppieren.
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
String wird nicht ausgegeben. tichy Javascript & Ajax 1 04.11.2012 20:17
String zu Array tichy Javascript & Ajax 3 20.06.2010 22:47
PHP: Vorkommen eines Substrings in String zählen? braindead Serveradministration und serverseitige Scripte 0 07.05.2009 22:49
String ersetzen mit jQuery Schneemann Javascript & Ajax 1 20.08.2007 15:57
Substring in anderen String einfügen Marco D. Javascript & Ajax 2 27.02.2007 11:14


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:37 Uhr.