kastarker
Goto Top

PHP Inhalt in einem content finden und ersetzen bzw. löschen

Ich suche mir seit heute morgen einen Wolf und hoffe jetzt, dass einer von Euch mir helfen kann. Folgendes Problem

Ich habe in einer php einen Text in

$content

Dieser fängt immer mit "Autor:" an. Danach kommt variabler Text bis zu dem Punkt wo steht "<br /><br />". Dahinter folgt weiterer Text.

Zwischen dem "Autor:" und den zwei Zeilenumbrüchen soll der Text ersetzt werden.

Hat jemand dafür eine Lösung?

Gruß Karsten

Content-Key: 186647

Url: https://administrator.de/contentid/186647

Printed on: April 26, 2024 at 22:04 o'clock

Member: nxclass
nxclass Jun 18, 2012 at 13:49:27 (UTC)
Goto Top
suche mir seit heute morgen einen Wolf
... ich glaube ein Wolf kann Dir da nicht viel helfen. Als Entwickler möchte ich dich auf Reguläre Ausdrücke hinweisen. ( http://de.wikibooks.org/wiki/Websiteentwicklung:_PHP:_Regul%C3%A4re_Aus ... )
Mitglied: 107165
107165 Jun 19, 2012 at 11:31:58 (UTC)
Goto Top
Such Dir die Position von <br /><br /> mittels strpos und ersetze dann mittels substr. Das würde mir spontan einfallen. Ob es elegantere Lösungen gibt, mag ich nicht beurteilen.

Dass Du mit SELFPHP vertraut bist um mit strpos und substr etwas anfangen zu könne, setze ich einfach mal voraus.

Mit sonnigen Grüssen von der Insel Teneriffa
Volker
Member: nxclass
nxclass Jun 19, 2012 at 14:04:16 (UTC)
Goto Top
hatte mal 1 min zeit nach der Arbeit:
$pattern = '/^Author\:.*\<br\ \/\>\<br\ \/\>/';  
echo preg_replace($pattern, 'Author: neuer Author<br /><br />', $content);  
ungetestet ... versuch es mal.
Member: KaStarker
KaStarker Jun 19, 2012, updated at Sep 11, 2012 at 20:14:24 (UTC)
Goto Top
Super und vieeeelen Dank für die Antworten Volker und nxclass. Das hat gut geholfen. Manchmal ist die Lösung so nahe. So hats funktioniert:

$content_1 = preg_replace("/Autor(.*)([ ])(.*)\<span class/sU","<span class",$content);    
$content_new = preg_replace("#<img(.*)>#Uis", " ", $content_1);  

Grüßle Karsten