ConPresso Community

Fragen, Antworten, Diskussionen rund um das Content Management System ConPresso

 
regular expressions: bis zum Zeilenende $

 
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Allgemeine Diskussionen zu PHP
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
SebastianG
ConPresso-User


Anmeldungsdatum: 04.04.2009
Beiträge: 72

BeitragVerfasst am: 22.09.2009 11:39    Titel: regular expressions: bis zum Zeilenende $ Antworten mit Zitat

Kennt sich jemand mit regular expressions sehr gut aus?

Oftmals habe ich Text, bei dem ich ab einem Suchstring bis zum Zeilenende löschen möchte, also zB:

....http://www.blab.de/">blab.....
....http://www.blub.de/">blub.....

Nun möchte ich suchen nach
">
und ab da löschen.

Zeilenende = $

Wer weiß, wie das geht?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6965

BeitragVerfasst am: 22.09.2009 11:58    Titel: Antworten mit Zitat

Idea Da das mit HTML nicht geht habe ich das Thema zu "PHP" verschoben.


Für Deinen Zweck kannst Du auf Reguläre Ausdrücke verzichten und die "normalen" PHP-Funktionen wie substr und strpos benutzen.

$string = "....http://www.blab.de/">blab.....";
$suche = '">';
$anfang = substr($string,0,strpos($string, $suche));

da Du "> mit drin haben willst muß die Länge dieser Zeichen noch dazugerechnet werden, also

$anfang = substr($string,0,strpos($string, $suche)+strlen($suche));
oder einfach angehängt
$anfang = substr($string,0,strpos($string, $suche)).$suche;

siehe
http://de.php.net/manual/de/function.substr.php
http://de.php.net/manual/de/function.strpos.php

ungetestet...

_______


Wenn es denn regexp sein müssen dann vielleicht

$string = "....http://www.blab.de/">blab.....";
$suche = '">';
$teile = preg_split ("/".preg_quote($suche)."/", $string);
$anfang = $teile[0].$suche;

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
SebastianG
ConPresso-User


Anmeldungsdatum: 04.04.2009
Beiträge: 72

BeitragVerfasst am: 22.09.2009 12:28    Titel: Antworten mit Zitat

es geht wirklich um regexp, die ich für suche-ersetzen in einem text-editor (textpad) verwende.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MarkusR
Handbuchversteher


Anmeldungsdatum: 01.01.1970
Beiträge: 6965

BeitragVerfasst am: 22.09.2009 18:59    Titel: Antworten mit Zitat

Na gut. Mein Texteditor (EditPlus) kommt mit
Find: (.+">).*
Replace: \1
gut zurecht.

_________________
Ciao Markus
ConPresso-Module
ConPresso und PHP 7
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
SebastianG
ConPresso-User


Anmeldungsdatum: 04.04.2009
Beiträge: 72

BeitragVerfasst am: 22.09.2009 20:03    Titel: Antworten mit Zitat

danke:)

beim textpad funzt es nun so:

">*.*$
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
balu
ConPresso-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1745

BeitragVerfasst am: 25.09.2009 08:13    Titel: Antworten mit Zitat

Hi,

Das hier sollte reichen:

">.*$

. steht für ein beliebiges Zeichen, * dafür, dass dieses Zeichen keinmal oder beliebig oft vorkommen darf und $ für das Zeilenende.

Wenn Du hinter dem > ein * machst, muss das > Zeichen nicht vorkommen. Dann wird also evtl. auch nur ab einem " gelöscht.

Balu

_________________
Bartels.Schöne
ConPresso Support & Development

 
Für dieses Posting bedanken sich die folgenden User: SebastianG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
SebastianG
ConPresso-User


Anmeldungsdatum: 04.04.2009
Beiträge: 72

BeitragVerfasst am: 25.01.2013 12:12    Titel: Antworten mit Zitat

Könnt Ihr mir bitte helfen:

a) Wie würdet Ihr eine Auswahl zwischen 2 Suchstrings definieren?

Also zB einen HTML-Kommentar.

Also am Anfang:
<!--

und Ende:
-->

Das Ende ist klar mit o.g.:
-->.*$

Anfang dann wohl
<!--.*^


Im Textpad kriege ich es hin mit :

^<!--.*$*.-->


Doch im Dreamweaver kommt Syntaxfehler
invalid qualifier:
*.-->


b) Und ist es möglich, solche Suchmuster für Anfang+Ende über mehrere Zeilen zu definieren?

Vielen Dank!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
balu
ConPresso-Entwickler


Anmeldungsdatum: 01.01.1970
Beiträge: 1745

BeitragVerfasst am: 28.01.2013 13:38    Titel: Antworten mit Zitat

Das ist nicht so einfach, aber glücklicherweise haben das schon andere vor Dir überlegt Smile

http://ostermiller.org/findhtmlcomment.html

Wobei ich nicht ganz sicher bin, ob das schon ausreicht, aber probier das mal. Sonst solltest Du hier mehr finden:

https://www.google.de/search?q=regular+expression+html+comment

Balu

_________________
Bartels.Schöne
ConPresso Support & Development

 
Für dieses Posting bedanken sich die folgenden User: SebastianG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
SebastianG
ConPresso-User


Anmeldungsdatum: 04.04.2009
Beiträge: 72

BeitragVerfasst am: 28.01.2013 17:27    Titel: Antworten mit Zitat

Vielen Dank!

In DW funktioniert der im 1.Link erwähnte 2.Vorschlag:
Code:
\<![ \r\n\t]*(--.*--[ \r\n\t]*)\>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neue Antwort erstellen    ConPresso Community Foren-Übersicht -> Allgemeine Diskussionen zu PHP Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen