 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
16.04.2004, 10:05
|
#1
|
|
TP-Insider
Registriert seit: Sep 2003
Ort: Sankt Augustin
|
Problem ?!?!?!
Ich habe das Script hier
PHP-Code:
<?
$fh = fopen('seiten/mitglieder-liste_5494.phtml','r');
$string = fread($fh, filesize('seiten/mitglieder-liste_5494.phtml'));
/* Pattern <tr>
<td bgcolor="#BCD0E9"><p>PLZ/Ort :</p>
</td>
<td><p>49536 Lienen</p>
</td>
</tr>*/
$pattern = '/<tr>
<td bgcolor="#BCD0E9"><p>PLZ/Ort :</p>
</td>
<td><p>([0-9]{5}) (.+)</p>
</td>
</tr>/';
$erg = preg_replace($pattern,"$1 - $2",$string);
echo $erg;
fclose($fh);
?>
und bekomme nur das hier:
Warning: Unknown modifier 'O' in F:\xampp2\htdocs\www\tp\arch\auswertung.php on line 27
Was mache ich Falsch?
__________________
Gruß Sebastian
Webdesign und viel mehr http://lauff.info
yingiz, deine Wirtschaftsgemeinschaft im Netz - gemeinsam bis zu 60% vom Verkaufspreis oder bis zu 300 € Provisionen verdienen. Jeder profitiert von Jedem! Gemeinsam stark! Jetzt anmelden
|
|
|
16.04.2004, 10:41
|
#2
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
naja... du musst den Slash vor Ort escapen...
Gruss
Jan
|
|
|
16.04.2004, 11:03
|
#3
|
|
TP-Special Mod
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
|
...und die Folgeslashes ned vergessen.
Also:
Alle Slashes in $pattern mit nem Backslash maskieren!
|
|
|
16.04.2004, 11:24
|
#4
|
|
TP-Insider
Registriert seit: Sep 2003
Ort: Sankt Augustin
|
Arrg! Wie dumm, total übersehen. Aber ich habe mich sowieso in einen Richtung verrannt und komme nicht mehr raus. Daher noch einen Nachschlag an Fragen:
Ich habe als $string eine HTML/PHP Datei.
Ich suche wiederkehrende Angaben wie Name, Ort, PLZ etc.
Ich will nur diese Daten ausgeben.
Bisher habe ich ja die tr-Struktur verwandelt. Ich möchte jetzt aber PLZ und Ort in einen eigenen String haben. Wie mache ich das?
Mit preg_match bekomme ich ja nur true/false?!
__________________
Gruß Sebastian
Webdesign und viel mehr http://lauff.info
yingiz, deine Wirtschaftsgemeinschaft im Netz - gemeinsam bis zu 60% vom Verkaufspreis oder bis zu 300 € Provisionen verdienen. Jeder profitiert von Jedem! Gemeinsam stark! Jetzt anmelden
|
|
|
16.04.2004, 16:08
|
#6
|
|
TP-Insider
Registriert seit: Sep 2003
Ort: Sankt Augustin
|
Und warum bekomme ich hier nur 1 heraus?
PHP-Code:
$pattern = '/<tr>
<td bgcolor="#BCD0E9"><p>PLZ\/Ort :<\/p>
<\/td>
<td><p>([0-9]{5}) (.+)<\/p>
<\/td>
<\/tr>/';
$erg = preg_match($pattern, $string, $erg);
print_r($erg);
__________________
Gruß Sebastian
Webdesign und viel mehr http://lauff.info
yingiz, deine Wirtschaftsgemeinschaft im Netz - gemeinsam bis zu 60% vom Verkaufspreis oder bis zu 300 € Provisionen verdienen. Jeder profitiert von Jedem! Gemeinsam stark! Jetzt anmelden
|
|
|
16.04.2004, 16:15
|
#7
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Schau nochmal geeennnaaauu hin  ...preg_match füllt den 3ten Parameter und gib am Ende ein Ergebniss zurück...  Und an wen gibt er/sie/es das zurück?
Gruss
Jan
|
|
|
16.04.2004, 16:23
|
#8
|
|
TP-Insider
Registriert seit: Sep 2003
Ort: Sankt Augustin
|
PHP-Code:
preg_match($pattern, $string, $erg);
print_r($erg);
Ich hab es. Danke für den Nachhilfeunterricht *verbeug*
__________________
Gruß Sebastian
Webdesign und viel mehr http://lauff.info
yingiz, deine Wirtschaftsgemeinschaft im Netz - gemeinsam bis zu 60% vom Verkaufspreis oder bis zu 300 € Provisionen verdienen. Jeder profitiert von Jedem! Gemeinsam stark! Jetzt anmelden
|
|
|
16.04.2004, 17:24
|
#9
|
|
TP-Insider
Registriert seit: Sep 2003
Ort: Sankt Augustin
|
Und da habe ich doch noch etwas:
Leider tritt der preg_match nur bei einer von x Dateien. Dabei ist das Muster immer gleich:
PHP-Code:
<p>Name:</p>
</td>
<td><p>Elsler</p>
PHP-Code:
<p>Name:</p>
</td>
<td><p>Abrahams</p>
Beim ersten gibt es ergebnisse beim zweiten nicht  ???
Kann doch garnicht? Oder habe ich eine andern Fehler in Code?
Hier nochmals der Code (jetzt mit Schleife)
PHP-Code:
<?
for ($a=1; $a<10000; $a++) {
$datei="seiten/mitglieder-liste_$a.phtml";
if (file_exists($datei)) {
echo "File $a -> $datei<br><br>";
$fh = fopen($datei,'r');
$string="";
$string = fread($fh, filesize($datei));
$pattern = '/<p>Name:<\/p>
<\/td>
<td><p>(.+)<\/p>/';
preg_match($pattern, $string, $name);
print($name[1]); echo"<br><br>";
/* gekürzt wegen Übersichtlichkeit --> weitere preg_match Blöcke */
fclose($fh);
}
}
?>
Irgenwie ist heute nicht mein Tag
__________________
Gruß Sebastian
Webdesign und viel mehr http://lauff.info
yingiz, deine Wirtschaftsgemeinschaft im Netz - gemeinsam bis zu 60% vom Verkaufspreis oder bis zu 300 € Provisionen verdienen. Jeder profitiert von Jedem! Gemeinsam stark! Jetzt anmelden
|
|
|
16.04.2004, 17:44
|
#10
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Du solltest die "weissen" Zeichen (\s) beachten. Dein Pattern matched auf ALLES, wie z.B. Leerzeichen oder Tab-Stops, was drin steht. Hängt irgendwo ein Leerzeichen mehr hinter, wird schon nicht mehr gematched.
Evtl. solltest du im Pattern (.+) auch noch gegen ([^<]+) austauschen? Der . ist immer sehr "gefrässig"... oder ist das Geschmackssache? ...da bin ich mir auch nicht immer sicher
Gruss
Jan
|
|
|
16.04.2004, 18:16
|
#11
|
|
TP-Insider
Registriert seit: Sep 2003
Ort: Sankt Augustin
|
also wäre es besser nach
PHP-Code:
$pattern = '/<p>Name:</p>(\s+)</td>(\s+)<td><p>([^<]+)</p>/';
zu suchen?
Habe es gerade versucht. Geht garnicht 
Mist!
Eigendlich sollten die Datein, da aus DB erstellt, 100% gleich sein. Also auch in Punkto Leerzeichen.
Das Problem ist das ich neben dem Namen auch gleich aufgebaute Konstrukte für Ort/PLZ Vorname etc habe.
Hat jemand eine Idee wie ich das angehen kann?
__________________
Gruß Sebastian
Webdesign und viel mehr http://lauff.info
yingiz, deine Wirtschaftsgemeinschaft im Netz - gemeinsam bis zu 60% vom Verkaufspreis oder bis zu 300 € Provisionen verdienen. Jeder profitiert von Jedem! Gemeinsam stark! Jetzt anmelden
|
|
|
16.04.2004, 18:19
|
#12
|
|
TP-Insider
Registriert seit: Sep 2003
Ort: Sankt Augustin
|
Ist meine Vermutung richtig, wenn ich in den Dateien alle Doppelten Leerzeichen "_ _" durch einfach Leerzeichen "_" ersetze und das solange bis nur noch einfache da sind, dann müßten die Dateien doch alle gleich sein?
__________________
Gruß Sebastian
Webdesign und viel mehr http://lauff.info
yingiz, deine Wirtschaftsgemeinschaft im Netz - gemeinsam bis zu 60% vom Verkaufspreis oder bis zu 300 € Provisionen verdienen. Jeder profitiert von Jedem! Gemeinsam stark! Jetzt anmelden
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 16:25 Uhr.
|
 |