Suchen
Inside Forum
Nützliche Links
PHP Jobs
phpforum.de Tipp
 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 
PHP Test


werbung



Zurück   PHP Forum: phpforum.de > PHP > PHP

PHP Alles rund um PHP

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 04.09.2006, 19:26
hannes7 hannes7 ist offline
Neuer Besucher
 
Registriert seit: 04.09.2006
Beiträge: 6
Standard

Folgender Wert eines Feldes steht in einer Datenbank
Polo's

Hallo Versuche das ' zu eliminieren um den Wert ohne ' in eine ASCII Datei zu schreiben, scheitern

PHP Quellcode:
$btext2 = ereg_replace("[[:punct:]]","",$row[bezeichnung]);
Als Ergebniss erscheint immer

Poloacutesacute

Wie bekomme ich das ' weg ohne auch noch das (&)acute eliminieren zu müssen ?

Vielen Foren durchgelesen, scheint irgendwie nur immer lösbar zu sein, in eine mysql DB zu schreiben / lesen.
Nicht aber für einen ASC Datenexport
Mit Zitat antworten
  #2  
Alt 04.09.2006, 19:36
Matneu Matneu ist offline
Engagierter Besucher
 
Registriert seit: 27.02.2006
Beiträge: 1.670
Matneu eine Nachricht über ICQ schicken
Standard

Hast Du Dir mal den String ausgeben lassen und in den Quelltext geschaut? Vermutlich ist das Hochkomma dort überall schon in HTML umgewandelt.

So far...
Matthias
Mit Zitat antworten
  #3  
Alt 04.09.2006, 19:37
Gary Gary ist offline
Forum-Mitarbeiter
 
Registriert seit: 25.05.2004
Beiträge: 13.399
Standard

Zeig mal deinen Code, mit dem du versuchst die Datei zu schreiben.

Zitat:
in eine ASCII Datei zu schreiben, scheitern
Und was heißt "scheitern"??? Kommt eine Fehlermeldung, eine Warnung, Programmabbruch, Rechner explodiert?
__________________
Gary
=============================
Schreie nach Besserem, bis du es auch erhältst. Das noch Bessere verabschiedet sich rechtzeitig vor deinem Lärm.
© Martin Gerhard Reisenberg (*1949)
Mit Zitat antworten
  #4  
Alt 04.09.2006, 20:00
hannes7 hannes7 ist offline
Neuer Besucher
 
Registriert seit: 04.09.2006
Beiträge: 6
Standard

Zitat:
Gary postete
Zeig mal deinen Code, mit dem du versuchst die Datei zu schreiben.
dbopen();
$query = "SELECT *
FROM artikel" ;

$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result))
{
$zeile= ereg_replace("[[unct:]]","",$row[bezeichnung]);
.........


$fp = fopen ("./$dateiname", "a");
fputs ($fp, "$zeile\r\n", 1024);
fclose ($fp);


Zitat:
in eine ASCII Datei zu schreiben, scheitern
Und was heißt "scheitern"??? Kommt eine Fehlermeldung, eine Warnung, Programmabbruch, Rechner explodiert?[/quote] Scheitern, --> diese Datei wird in eShop Portal wieder eingelesen und hier kommt es zu dem Problem,
daß ´ dazu führt, das die Zeile nicht importiert wird, jetzt kann ich natürlich & und ; und acute etc rausfiltern.
Aber eigentlich wollte ich nur das ' (Apostroph) wegfiltern bzw. ersatzlos aus einer Bezeichnung löschen
Mit Zitat antworten
  #5  
Alt 04.09.2006, 20:11
Gary Gary ist offline
Forum-Mitarbeiter
 
Registriert seit: 25.05.2004
Beiträge: 13.399
Standard

Wende die Funktion
DOKU-VORLESE-SERVICE(TM)
string mysql_real_escape_string(string unescaped_string[, resource Ergebnis-Kennung] )
Escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection.
vor dem Schreiben in die Datei an... Dann funktioniert auch das Einlesen...
__________________
Gary
=============================
Schreie nach Besserem, bis du es auch erhältst. Das noch Bessere verabschiedet sich rechtzeitig vor deinem Lärm.
© Martin Gerhard Reisenberg (*1949)
Mit Zitat antworten
  #6  
Alt 04.09.2006, 20:49
hannes7 hannes7 ist offline
Neuer Besucher
 
Registriert seit: 04.09.2006
Beiträge: 6
Standard

Zitat:
Gary postete
Wende die Funktion
DOKU-VORLESE-SERVICE(TM)
string mysql_real_escape_string(string unescaped_string[, resource Ergebnis-Kennung] )
Escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection.
vor dem Schreiben in die Datei an... Dann funktioniert auch das Einlesen...
Vielen Dank für die Antwort, aber ich verstehe nur ????

Also ich lese aus meiner mysql DB meine Artikel aus und schreibe diese in eine ASC II Datei. Die einzelnen Spalten, wie z.B. Preise oder Artikelnummer werden durch Semikolon getrennt.
Diese Datei übergebe ich einem externen Programm, wie z.B. Froogle, die diese Datei dann einliest.
Mein Problem sind die ' (Apostroph's), diese bekomme ich nicht gefiltert, alle anderen Filter Funktionieren mit ereg_replace funktionieren einwandfrei.

Das Ergebnis ist z.B.
Oliver T40 Power ´für die Offensiven´;BlaBla;AhaBee
hier steht nach dem Beitrag aktualisieren ist, wieder der richtige Wert sprich ' drin , daher jetzt ohne & vor dem acute
Oliver T40 Power[kaufm. und] acute;für die Offensiven [kaufm. und] acute;;BlaBla;AhaBee
richtig sollte es heißen
Oliver T40 Power für die Offensiven;BlaBla;AhaBee
oder
Oliver T40 Power 'für die Offensiven';BlaBla;AhaBee

Wo muss ich denn jetzt die obige Funktion (trotz Hilfe durchlesen und diversen Test) ein ?
Als Ausgabe, wenn ich mir die Datei imUltraedit ansehe, bekomme ich immer
Oliver T40 Power ´für die Offensiven´;
Mit Zitat antworten
  #7  
Alt 04.09.2006, 20:55
Gary Gary ist offline
Forum-Mitarbeiter
 
Registriert seit: 25.05.2004
Beiträge: 13.399
Standard

PHP Quellcode:
while ($row = mysql_fetch_assoc($result))
{
$zeile= mysql_real_escape_string($row['bezeichnung']);
Hat bei mir damals zumindest hervorragend funktioniert.....
__________________
Gary
=============================
Schreie nach Besserem, bis du es auch erhältst. Das noch Bessere verabschiedet sich rechtzeitig vor deinem Lärm.
© Martin Gerhard Reisenberg (*1949)
Mit Zitat antworten
  #8  
Alt 04.09.2006, 21:10
hannes7 hannes7 ist offline
Neuer Besucher
 
Registriert seit: 04.09.2006
Beiträge: 6
Standard

Zitat:
Gary postete
PHP Quellcode:
while ($row = mysql_fetch_assoc($result))
{
$zeile= mysql_real_escape_string($row['bezeichnung']);
Hat bei mir damals zumindest hervorragend funktioniert.....
Leider bleibt es in der ASCII Datei bei
Oliver T40 Power [hier steht ein kaufm. und]acute;für die Offensiven[hier steht ein kaufm. und];;
So sieht es dann (richtig) unter HTML aus :
Code:
Oliver T40 Power ´für die Offensiven´;
Hat noch einer eine Idee ???
Mit Zitat antworten
  #9  
Alt 04.09.2006, 21:24
Gary Gary ist offline
Forum-Mitarbeiter
 
Registriert seit: 25.05.2004
Beiträge: 13.399
Standard

Wie stehen denn die Daten in der Datenbank?? Mit den gewandelten oder den ungewandelten Sonderzeichen?
__________________
Gary
=============================
Schreie nach Besserem, bis du es auch erhältst. Das noch Bessere verabschiedet sich rechtzeitig vor deinem Lärm.
© Martin Gerhard Reisenberg (*1949)
Mit Zitat antworten
  #10  
Alt 05.09.2006, 20:33
hannes7 hannes7 ist offline
Neuer Besucher
 
Registriert seit: 04.09.2006
Beiträge: 6
Standard

Zitat:
Gary postete
Wie stehen denn die Daten in der Datenbank?? Mit den gewandelten oder den ungewandelten Sonderzeichen?
Vielleicht scheit das das Problem zu sein, schaue ich unter phpmyadmin in die sql-Datenbank rein, so steht dort auch [kaufm. und]acute;

Vielleicht gibt es jetzt einen Weg diese Problem zu lösen.
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wörter mit Apostroph Airis PHP 5 26.10.2005 17:46
habe ein Apostroph-( ' )-Problem... DerColler PHP 2 14.10.2005 23:48
Formular-Text durch Apostroph abgeschnitten jakob_newbie PHP 1 17.09.2005 13:39
Upload einer Datei mit einem Apostroph in der Dateinbenennung Leonid PHP 5 16.09.2005 13:33


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:18 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC