Wie lösche ich Links auf einem Text
Thomas Goik
- cgi
Hallo Leute,
ich habe folgendes Problem:
Auf meiner Seite sollen die Leute nicht immer Ihre HTML Link in das Posting Fenster Schreiben, jetzt wollte ich die Link gegen einen Text tauschen:
$form{desc} =~ s/(http|www).+[.a-z0-9-].+(.com|.net)/ Bitte benutzt das Link Feld dazu/ig
Jetzt löscht das Programm aber fast alles aus dem Text, kann mir da jemand einen Guten Tipp geben, bin schon seit ca. 3 Tagenm immer mal wieder am probieren, aber es klappt niemals ganz richtig!
Wäre Super!
Cu Shivaball!
ich habe folgendes Problem:
Auf meiner Seite sollen die Leute nicht immer Ihre HTML Link in das Posting Fenster Schreiben, jetzt wollte ich die Link gegen einen Text tauschen:
$form{desc} =~ s/(http|www).+[.a-z0-9-].+(.com|.net)/ Bitte benutzt das Link Feld dazu/ig
Jetzt löscht das Programm aber fast alles aus dem Text, kann mir da jemand einen Guten Tipp geben, bin schon seit ca. 3 Tagenm immer mal wieder am probieren, aber es klappt niemals ganz richtig!
Kannst du noch etwas präzisieren, was den alles aus dem Text gelöscht wird? - In wiefern der "normale" Text davon betroffen?
Gruss
Philipp
ich habe folgendes Problem:
Auf meiner Seite sollen die Leute nicht immer Ihre HTML Link in das Posting Fenster Schreiben, jetzt wollte ich die Link gegen einen Text tauschen:
$form{desc} =~ s/(http|www).+[.a-z0-9-].+(.com|.net)/ Bitte benutzt das Link Feld dazu/ig
Jetzt löscht das Programm aber fast alles aus dem Text, kann mir da jemand einen Guten Tipp geben, bin schon seit ca. 3 Tagenm immer mal wieder am probieren, aber es klappt niemals ganz richtig!
Kannst du noch etwas präzisieren, was den alles aus dem Text gelöscht wird? - In wiefern der "normale" Text davon betroffen?
Gruss
Philipp
Bei:
$form{DESC} =~ s/(http://).+([a-zA-Z0-9-])+?\s/ /ig;
macht er folgendes!
Hier mal ein Beispiel text:
testlauf http://194.112.65.200/banner/millwin_468x60_1.gif auch wenn es keiner www.echtwahr.com wahr haben will http://prografix-design.com oder vielleicht kann es auch keiner wahr haben info@tezhnik.de oder?!
Darauf macht er :
testlauf oder?!
Also er löscht alles?!
Ich kann mir da echt nicht mehr helfen,
wäre Super wenn Du eine Idee hättest!
Hier mal ein Beispiel text:
testlauf http://194.112.65.200/banner/millwin_468x60_1.gif auch wenn es keiner www.echtwahr.com wahr haben will http://prografix-design.com oder vielleicht kann es auch keiner wahr haben info@tezhnik.de oder?!
Darauf macht er :
testlauf oder?!
Also er löscht alles?!
Hallo Thomas
Ich habe mich gestern noch etwas damit auseinandergesetzt und festgestellt, dass ich alles andere als ein Genie in Sachen RegExp bin.
Es scheint, dass deine RegExp alles zwischen dem ERSTEN und LETZTEN Link löscht. Ich denke das Problem entsteht durch deinen mittleren Teil der RegExp:
$form{DESC} =~ s/(http://).+([a-zA-Z0-9-])+(.com)\s/ /ig;
^^^^^^^^^^^^^^^^^
vielleicht kann man hier was machen: Die maximale Anzahl Zeichen zwischen http und .com o. ä. begrenzen. Das macht man mit {n,m} : n:minimal;m:Maximal.
Ich weiss aber nicht genau, wie man das Anwendet (habs gestern vergeblich versucht)
Tschuldigung, aber bei Regexp kann ich wirklich nicht viel Beitragen (ich mag Regexp nicht umbedingt, obwohl es unglaubliche Möglichkeiten bietet)
Viele Grüsse und viel Glück und Energie
Philipp
Hallo nochmals:
ich hab (da mich das Problem auch betrifft) mal bei eGroups.com (perl-anfaenger) nachgefragt:
Von Kim Woitecki und Roland Bluethgen habe ich folgende Rückmeldungen bekommen (an dieser Stelle möchte ich mich nochmals bei den beiden bedanken, auch wenn sie dies wahrscheinlich nicht lesen werden):
http://forum.de.selfhtml.org/archiv/2000_3/t21729.htm#a111398 (und noch etwas weiter unten!)
Viel Glück bei der Umsetzung
---Philipp
Hallo Leute,
ich habe folgendes Problem:
Auf meiner Seite sollen die Leute nicht immer Ihre HTML Link in das Posting Fenster Schreiben, jetzt wollte ich die Link gegen einen Text tauschen:
$form{desc} =~ s/(http|www).+[.a-z0-9-].+(.com|.net)/ Bitte benutzt das Link Feld dazu/igJetzt löscht das Programm aber fast alles aus dem Text, kann mir da jemand einen Guten Tipp geben, bin schon seit ca. 3 Tagenm immer mal wieder am probieren, aber es klappt niemals ganz richtig!
Wäre Super!
Cu Shivaball!
--
mail: mail@kai-diefenbach.de
www: http://www.kai-diefenbach.de
Tel: 0700 - 000BACH
Fax: 0700 - 000BACH
Ähh sorry,
missglückter Test des Selfbrowser Unix.
(Wobei ich wirklich überrascht bin, dass ich gepostet haben soll.)
Gruß Kai
ich habe folgendes Problem:
Auf meiner Seite sollen die Leute nicht immer Ihre HTML Link in das Posting Fenster Schreiben, jetzt wollte ich die Link gegen einen Text tauschen:
$form{desc} =~ s/(http|www).+[.a-z0-9-].+(.com|.net)/ Bitte benutzt das Link Feld dazu/ig
Du solltest "non greedy" aktivieren:
$form{desc} =~ s/(http|www).+?[.a-z0-9-].+?(.com|.net)/ Bitte benutzt das Link Feld dazu/ig
Das ? bewirkt, dass statt der maximalen Anzahl die minimale Anzahl an Zeichen gefunden wird. Ohne "?" wird nämlich vom 1. bis zum letzten Link alles gelöscht.
Ich weiß nicht, obs so klappt, aber probiers mal aus.
Grüße,
Crunch