Autor |
Nachricht |
j.r
Threadersteller
Dabei seit: 24.08.2005
Ort: Bocholt
Alter: 38
Geschlecht:
|
Verfasst Di 08.05.2007 14:06
Titel [PHP]Unbekannte Zeichenkette entfernen |
|
|
Hi Leute,
ich hab ein kleiner Problem wo ich gerade nicht weiter komme.
Ich möchte eine unbekannte Zeichenfolge aus einem String löschen.
Beispiel:
Code: | <div class="image_left"><a href="./files/nachrichten_neu.jpg" rel="lightbox" title="Dummy"><img src="./files/save_nachrichten_neu.jpg" alt="Dummy"></a></div> |
Dort möchte ich gerne
Code: | <a href="./files/nachrichten_neu.jpg" rel="lightbox" title="Dummy"></a> |
entfernen. Und genau da liegt mein Problem.
Was auch noch ein Problem ist das der Link sich immer ändert.
Hab ihr ne Lösung/Idee?
danke schonmal
gruß
j.r
|
|
|
|
|
ALEXX
Dabei seit: 26.08.2004
Ort: Köln
Alter: 37
Geschlecht:
|
|
|
|
|
Anzeige
|
|
|
WinstonSmith
Dabei seit: 06.01.2005
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 08.05.2007 16:02
Titel
|
|
|
Da ich mich nicht mit Regulären Ausdrücken auskenne (leider), kann ich nur sowas anbieten:
Code: | <?php
// Der zu bearbeitende String
$string = '<div class="image_left"><a href="./files/nachrichten_neu.jpg" rel="lightbox" title="Dummy"><img src="./files/save_nachrichten_neu.jpg" alt="Dummy"></a></div>';
// Das Muster, nach welchem der String zurechtgeschnibbelt werden soll
$suchstring1 = '<a href'; // Anfang des herauszunehmenden Strings
$suchstring2 = '</a>'; // Ende des herauszunehmenden Strings
// Vorbereitung: relevante Positionen herausfinden
$pos1 = strpos($string, $suchstring1);
$pos2 = strpos($string, $suchstring2) + strlen($suchstring2);
$stringfinal = substr($string, 0, $pos1); // Nur der Teilstring bis zum ersten Fund
$stringfinal .= substr($string, $pos2, strlen($string)); // Der Rest
echo htmlentities($string); // htmlentities --> Damit man den tatsaechlichen String auch erkennen kann als solchen auf der Seite
echo "<hr>";
echo htmlentities($stringfinal);
?> |
Sollte eigentlich selbsterklärend sein.
gruß,
winston
|
|
|
|
|
schachbrett
Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Di 08.05.2007 16:57
Titel
|
|
|
Code: | $without = preg_replace( Array( '~<a.+?>~', '~</a>~' ), '', $with );
|
|
|
|
|
|
j.r
Threadersteller
Dabei seit: 24.08.2005
Ort: Bocholt
Alter: 38
Geschlecht:
|
Verfasst Di 08.05.2007 17:07
Titel
|
|
|
Ich hab euch alle ganz doll lieb
danke
j.r
|
|
|
|
|
WinstonSmith
Dabei seit: 06.01.2005
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 08.05.2007 17:29
Titel
|
|
|
schachbrett hat geschrieben: | Code: | $without = preg_replace( Array( '~<a.+?>~', '~</a>~' ), '', $with );
|
|
Hrhrhr ....
Ja ja, reguläre Ausdrücke sind praktischer und eleganter! Ich hab's ja kapiert, ok?
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Di 08.05.2007 17:41
Titel
|
|
|
hmm, jaa...
Aber nicht den Vorschlag von ALEXX nutzen, sondern den von Schachbrett.
Die preg-Funktionen sind um einiges schneller als die alten ereg-Funktionen.
Naja und wenn es halt irgendwie möglich ist, dann sollte man mit String-Funktionen anstatt gleich zu einem RegEx zu greifen arbeiten.
Reguläre Audrücke können alles und sind alles - nur nicht schnell.
|
|
|
|
|
WinstonSmith
Dabei seit: 06.01.2005
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 08.05.2007 17:48
Titel
|
|
|
rob hat geschrieben: | Naja und wenn es halt irgendwie möglich ist, dann sollte man mit String-Funktionen anstatt gleich zu einem RegEx zu greifen arbeiten.
Reguläre Audrücke können alles und sind alles - nur nicht schnell. |
Aber auch für so eine - verhältnismäßig kleine - Anwendung? Merkt man da einen Geschwindigkeitsunterschied denn?
gruß,
winston
PS@rob:
Tach, übrigens Ist schon ein Weilchen her, dass wir uns auf Foren über den Weg gelaufen sind.
Zuletzt bearbeitet von WinstonSmith am Di 08.05.2007 17:48, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
[php] Zeichenkette zwischen zwei Klammern entfernen
PHP->Zeichenkette abschneiden
PHP Letzten 4 Zeichen löschen und neue Zeichenkette anhängen
Unbekannte Contao-Lightbox
dreamweaver 8 - codeansicht für unbekannte dateiendungen
Daten aus Datenbank auslesen (unbekannte Spalten)
|
|