Beitrag von Thomas Fedder, Stadt Ratingen (0 Beiträge) am Dienstag, 18.Oktober.2005, 14:12.
<br>s aus Feld entfernen
Hallo,
durch mehrfachen Down/upload habe ich in einer DB in textareas lauter <br>
Steuerzeichen.
Diese könnte ich zwar manuell in jedem Datensatz entfernen, was aber bei über 300 Datensätzen nicht effizient ist.
Gibt es einen Perl Befehl oder ähnliches, welches in textarea Felder die <br> entfernt und stattdessen einen Zeilenumburch herstellt?
Danke
TF
Antworten
Beitrag von Thomas H. (180 Beiträge) am Dienstag, 18.Oktober.2005, 16:46.
Re: <br>s aus Feld entfernen
Antworten
Beitrag von Thomas Fedder, Stadt Ratingen (0 Beiträge) am Dienstag, 18.Oktober.2005, 17:48.
Re: <br>s aus Feld entfernen
Hi,
danke für die Hilfe.
Die Datenbank heisst
dienstleistungen_save_13_10_2005
das Feld heisst langbeschreibung.
Also lautet so der Code:
<perl>
get "Id==#", "dienstleistungen_save_13_10_2005";
$langbeschreibung=~s/<br>|<BR>/\n/g;
out "<form>";
out "<textarea name=\"langbeschreibung\" cols=\"40\" rows=\"18\">";
out $langbeschreibung;
out "</textarea>";
out "</form>";
</perl>
Ein Erfolg in so fern, dass mir in einem neuen Textarea Feld ein von <br>s bereinigtes Feld eines beliebigen Datensatz angezeigt wird.
Allerdings wurde der Datensatz in der DB noch nicht modifiziert.
Jetzt fehlt aber noch was:
- Das Feld im Datensatz muss entsprechend modifiziert werden
- alle Datensätze müssen entsprechend modifiziert werden.
Also habe mal folgendes versucht:
<perl>
get "Id==#", "dienstleistungen_save_13_10_2005";
$text1=~s/<br>|<BR>/\n/g;
mod "Id==*", ["langbeschreibung", "$text1"], "dienstleistungen_save_13_10_2005";
Jetzt sind jedoch alle Inhalte des Feldes "langbeschreibung" gelöscht.
Irgendeine Idee?
Danke
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 18.Oktober.2005, 18:39.
Re: <br>s aus Feld entfernen
man sollte schon wisse, was man da tut;-)
# holt den letzten Datensat
* passt auf ALLES!!!
? holt zufälligen Datensatz
Also das ganze mal in eine Schleife packen:
<perl>
get "Id==*", "dienstleistungen_save_13_10_2005";
while(get_next("dienstleistungen_save_13_10_2005"))
{
$text1=~s/<br>|<BR>/\n/g;
mod "Id==$Id", ["langbeschreibung", "$text1"], "dienstleistungen_save_13_10_2005";
So in der Art, not testet.
Ich hoffe, Du machst vorher 'ne Kopie;-))
Gruß
Claus
Antworten
Beitrag von Thomas Fedder (49 Beiträge) am Dienstag, 18.Oktober.2005, 19:22.
Re: <br>s aus Feld entfernen
Hi,
> man sollte schon wisse, was man da tut;-)
ich versuche ja gerade zu verstehen, was man alles mit mod und Co erreichen kann.
Dank dir fange ich so langsam an, es zu verstehen.
>Ich hoffe, Du machst vorher 'ne Kopie;-))
Das versteht sich von selber :-))
Der Code funktioniert im Grunde, nur bricht der Lauf ab (Ich habe 340 Datensätze)
Da nicht in jedem Datensatz das ganze gemacht werden muss, lasse ich das ganze jetzt auf ausgesuchte Datensätze los:
<perl>
get "Id==15", "dienstleistungen";
{
$langbeschreibung=~s/<br>|<BR>/\n/g;
mod "Id==$Id", ["langbeschreibung", "$langbeschreibung"], "dienstleistungen_save_13_10_2005";
}
</perl>
DAS funktioniert.
DANKE Claus (Ich hätte fast gesagt: Wie immer :-))
ciao
TF
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 18.Oktober.2005, 21:48.
Re: <br>s aus Feld entfernen
Antworten
Beitrag von Thomas Fedder, Stadt Ratingen (0 Beiträge) am Dienstag, 18.Oktober.2005, 22:11.
Re: <br>s aus Feld entfernen
Hallo Sander,
das war perfekt, genau das, was ich gesucht habe.
Ich gebe zu, das ich die Funktionsweise noch nicht 100% verstanden habe, aber zumindest glaube ich, dass ich es so langsam verstehe.
DANKE
ciao
TF
Antworten
Beitrag von Claus (4645 Beiträge) am Mittwoch, 19.Oktober.2005, 09:19.
Re: <br>s aus Feld entfernen
wusste ich auch noch nicht;-)
Antworten
Beitrag von Claus (4645 Beiträge) am Dienstag, 18.Oktober.2005, 18:49.
Re: <br>s aus Feld entfernen/Was übersehen;-))
Hatte gerade was übersehen, fehlte 'ne Klammer. Außerdem heißt Dein Feld ja auch nicht text1:
<perl>
get "Id==*", "dienstleistungen_save_13_10_2005";
while(get_next("dienstleistungen_save_13_10_2005"))
{
$langbeschreibung=~s/<br>|<BR>/\n/g;
mod "Id==$Id", ["langbeschreibung", "$langbeschreibung"], "dienstleistungen_save_13_10_2005";
So sollte es gehen;-)
Antworten