php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 31-10-2006, 20:31
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

Alle ausser die ca untersten vier.

also:

preg_match_all("/<td class=\"oben\">[\ ]?\d{1,2}\.\d{1,2}\.\d{4}<\/td>/i",$string, $dates)
Mit Zitat antworten
  #17 (permalink)  
Alt 31-10-2006, 20:35
ThE_-_BliZZarD
 Newbie
Links : Onlinestatus : ThE_-_BliZZarD ist offline
Registriert seit: Oct 2006
Beiträge: 25
ThE_-_BliZZarD ist zur Zeit noch ein unbeschriebenes Blatt
Standard

BOF. Danke erst mal.

Man, ich habe mir gerade durchgelesen wie dieses
PHP-Code:
preg_match_all("/<td class=\"oben\">[\ ]?\d{1,2}\.\d{1,2}\.\d{4}<\/td>/i",$string$dates
funktioniert.

Ach
Du
Scheiße.

Darf ich mal sanft fragen wer sich das ausgedacht hat? Naja, egal. ICh beginne es zu verstehen^^

Ok, soweit hab ich's, glaub ich (hoffe ich)..

Wie die anderen gehen werden.. Naja, ferne Zukunftsmusik nenne ich das mal

Dachte ja immer, ich könnte einigermaßen PHP.. aber Das. neeeee.

Neue Frage: Wie funktioniert das jetzt mit Text?

Freue mich auf eure fachkundige Hilfe ;-)
__________________
Ich kann: Deutsch, Englisch, Französisch, Japanisch (im Aufbau)
PHP, CSS 2.1, JS, Delphi, C
Ich mag: Japan, Speedmetal, H3nta1s(^^)

Geändert von ThE_-_BliZZarD (31-10-2006 um 20:42 Uhr)
Mit Zitat antworten
  #18 (permalink)  
Alt 31-10-2006, 20:35
highrise
 Member
Links : Onlinestatus : highrise ist offline
Registriert seit: Apr 2006
Ort: zu Hause *g*
Beiträge: 257
highrise ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ohh so weit hatte ich nun nicht mehr gelesen..
okay...
mit jmcs aktueller Lösung sollten dann tatsächlich ALLE Einträge gematcht werden..

greetz, high
__________________
Good programming is 40% experience, 20% skill, 20% RTFM, 15% caffeine, and 5% attention to detail.
When everything else fails, manipulate the data...
Beschriftungen / Großformatdruck / Werbemittel
Mit Zitat antworten
  #19 (permalink)  
Alt 01-11-2006, 12:59
ThE_-_BliZZarD
 Newbie
Links : Onlinestatus : ThE_-_BliZZarD ist offline
Registriert seit: Oct 2006
Beiträge: 25
ThE_-_BliZZarD ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Neue Frage : Wie funktioniert das jetzt mit Text?

Freue mich auf eure fachkundige Hilfe ;-)
__________________
Ich kann: Deutsch, Englisch, Französisch, Japanisch (im Aufbau)
PHP, CSS 2.1, JS, Delphi, C
Ich mag: Japan, Speedmetal, H3nta1s(^^)
Mit Zitat antworten
  #20 (permalink)  
Alt 01-11-2006, 13:35
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von ThE_-_BliZZarD
BOF.
Bastard Operator from [was?]

Zitat:
Darf ich mal sanft fragen wer sich das ausgedacht hat? Naja, egal. ICh beginne es zu verstehen^^
Niemand. Regexps sind uns von gott gegeben


Zitat:
Dachte ja immer, ich könnte einigermaßen PHP.. aber Das. neeeee.
Hat nicht viel mit php zu tun.

greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #21 (permalink)  
Alt 01-11-2006, 14:01
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

du lässt dir einfach den Dateiinhalt ausgeben und weist diesen dann einem String zu.

Stichwort: file_get_contents() oder fopen()

mit diesem String durchläufst du dann die regexp.
Mit Zitat antworten
  #22 (permalink)  
Alt 01-11-2006, 14:36
ThE_-_BliZZarD
 Newbie
Links : Onlinestatus : ThE_-_BliZZarD ist offline
Registriert seit: Oct 2006
Beiträge: 25
ThE_-_BliZZarD ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Bastard Operator from [was?]
^^ bof, franz. Ausdruck um Erstaunen auszudrücken.

Anscheinend habe ich es schlecht formuliert..
Ich würde gerne den Text, ähnlich diesem Schema:
PHP-Code:
preg_match_all("/<td class=\"oben\">[ ]?d{1,2}.d{1,2}.d{4}</td>/i",$string$dates
auslesen. Das hat (denk ich jetzt mal) recht wenig mit fopen zu tun, da bin ich schon lange vorbei. Ich würde nur gerne erfahren wie ich Text mit diesem Schema erkenen kann, da bis jetzt nur Zahlen erkannt wurden.

Damit es verständlicher wird, habe ich das ganze mal aufgeschlüsselt:

Zitat:
<tr>
<td class="oben"> 26.04.2006</td>
DATUM. dafür habe ich ja bereits ein preg_match_all() bekommen, vielen Dank nochmal ;-)
Zitat:
<td> <b>Dies ist die Überschrift</b>
ÜBERSCHRIFT. Das will ich auch noch haben. als einzelnes, aber MIT dem <b> wenn eins dabei steht, wenn möglich auch z.B. mit <span>'s.. || Wird noch benötigt
Zitat:
<br>
Dieses <br> kennzeichnet das Ende der Überschrift und den Beginn des TEXTES, der auch als einzelnes Element ausgelesen werden soll.

Zitat:
BLA BLA BLA BLA BLA BLA -- viel Text --
ENDE des Textes
Zitat:
</td>
</tr>
Das ganze soll dann ungefähr so aussehen, das ich dann 3 Arrays habe, jedes mit X Elementen, und dann X INSERT's in die DB mache,
immer mit den 3 Feldern Datum, Headline und Text.

Hoffe das jetzt voll verständlich ist was ich genau vorhab.


Freue mich auf Hilfe ;-)
BliZZarD
__________________
Ich kann: Deutsch, Englisch, Französisch, Japanisch (im Aufbau)
PHP, CSS 2.1, JS, Delphi, C
Ich mag: Japan, Speedmetal, H3nta1s(^^)

Geändert von ThE_-_BliZZarD (01-11-2006 um 16:14 Uhr)
Mit Zitat antworten
  #23 (permalink)  
Alt 01-11-2006, 17:35
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

Ich dachte das sei jetzt klar.

(Der unterste Eintrag hat keinen Titel.... vieleicht auch noch andere und ich habe gerade gesehen die untersten Einträge enthalten auch nicht class="oben"...)

preg_match_all("/<td>(?(.{1,80}<br>)(.*?<br>))?(.*)<\/td>/is",$string, $td)
for($a=0;$a<count($td);$a++){
$titles[$a] = preg_replace("/<td>(?(.{1,80}<br>)(.*?<br>))?(.*)<\/td>/is","$1",$td[$a]);
$texts[$a] = preg_replace("/<td>(?(.{1,80}<br>)(.*?<br>))?(.*)<\/td>/is","$2",$td[$a]);
}

ACHTUNG! Das Forum hat nach allen <br> einen Abstand eingefügt.
Mit Zitat antworten
  #24 (permalink)  
Alt 01-11-2006, 18:31
ThE_-_BliZZarD
 Newbie
Links : Onlinestatus : ThE_-_BliZZarD ist offline
Registriert seit: Oct 2006
Beiträge: 25
ThE_-_BliZZarD ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hmm, okay, habs ausprobiert, aber folgendes kassiert:

Warning: preg_match_all(): Unknown modifier 't' in nssf.php on line 19

Warning: preg_match_all(): Compilation failed: assertion expected after (?( at offset 7 in nssf.php on line 21
array(0) { } NULL NULL

Die betreffenden Zeilen sind:

19: preg_match_all("/<td class=\"oben\">[ ]?d{1,2}.d{1,2}.d{4}</td>/i", $haupt, $dates);

21: preg_match_all("/<td>(?(.{1,80}<br> )(.*?<br> ))?(.*)<\/td>/is", $haupt, $td);
__________________
Ich kann: Deutsch, Englisch, Französisch, Japanisch (im Aufbau)
PHP, CSS 2.1, JS, Delphi, C
Ich mag: Japan, Speedmetal, H3nta1s(^^)
Mit Zitat antworten
  #25 (permalink)  
Alt 02-11-2006, 14:49
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

versuch mal diese Regexp:

<td(?: class=\"oben\")?>[\ ]?(\d{1,2}\.\d{1,2}\.\d{4})<\/td>\s*<td>(?(.{1,80}<br>)(.*?<br>))?(.*?)<\/td>

unter http://regexlib.com/RETester.aspx

mit dem String:

'<tr>

<td class="oben"> 17.05.2006</td>

<td> <b>Thei&szlig;talsch&uuml;ler Kreissieger im Fu&szlig;ball</b><br>

Im Rahmen der schulsportlichen Wettbewerbe "Jugend trainiert f&uuml;r Olympia",

Wettkampfklasse 4, konnte die Mannschaft der Thei&szlig;talschule Niedernhausen,

am Dienstag, den 2. Mai die Gegner aus Michelbach mit 6:0, Oestrich-Winkel mit 12:0,

R&uuml;desheim mit 2:1 und Taunusstein-Hahn mit 5:0 besiegen.

Im Vielseitigkeitsparcour erreichte sie die Bestzeit. Die Mannschaft qualifizierte

sich damit als Kreissieger f&uuml;r den Regionalentscheid der Schulen am 24.05.06

in R&uuml;sselsheim.

<br>

J&ouml;rg Laa&szlig;
<br>
<a href="../bilder/2006/fussball_gross.JPG" target="_blank">
<img src="../bilder/2006/fussball.jpg" width="540" height="405" border="0" alt=""></a>
<p style="font-size: 7 pt;">Kreissieger Rheingau-Taunus, Wettkampfklasse 4,
Thei&szlig;talschule Niedernhausen<br>
Stehend v.li. n. re.: Jonas Weck, Johannes Steyer, Sportlehrer J&ouml;rg Laa&szlig;, Sabri El Funte,
Julian Linke, Jan Oluczak, Lukas St&auml;hler<br>
Knieend v. li. n. re: Johannes Winheim, Davide Zangari, Lars Klesper, Daniel Schaefer.</p>
</td>
</tr>

<tr>

<td class="oben"> 26.04.2006</td>

<td> <b>Schulfest mit attraktivem Programm </b><br>

Wir laden Sie ein zu unserem Schulfest am Samstag, 06.05., von 10.00 bis 14.00 Uhr. Anl&auml;sslich des Besuchs einer Gruppe von Austauschsch&uuml;lerinnen und -sch&uuml;lern unserer franz&ouml;sischen Partnerschule in Belley (Frankreich) steht das Fest in diesem Jahr unter dem Motto: "Zu Gast bei Freunden - Bienvenue Belley".<br>

Wir erwarten Sie mit einem attraktives Programm f&uuml;r Gro&szlig; und Klein. Auch f&uuml;r das leibliche Wohl ist nat&uuml;rlich gesorgt. <br>

Flyer (Vorderseite): <a href="2006/Schulfestprogramm1.jpg">Schulfestprogramm1.jpg (840kB)</a><br>

Flyer (R&uuml;ckseite m. Programm): <a href="2006/Schulfestprogramm2.jpg">Schulfestprogramm2.jpg (880 kB)</a>

<br>(Aufgrund der Gr&ouml;&szlig;e der Dateien kann es je nach Zugangsgeschwindigkeit zu l&auml;ngeren Ladezeiten kommen.) </td>

</tr>

<tr>

<td class="oben"> 26.04.2006</td>

<td> <b>Thei&szlig;talsch&uuml;ler Spitze in Mathe </b><br>

Mit Akschay Kakkar konnte sich erneut ein Sch&uuml;ler der Thei&szlig;talschule auch

in der zweiten Runde des Mathematikwettbewerbs des Landes Hessen, die auf Kreisebene ausgetragen

wurde, durchsetzten. Wir dr&uuml;cken Akschay f&uuml;r die Endrunde auf Landesebene am 16. Mai

fest die Daumen! (<a href="ttn0603/page13.html">Ausf&uuml;hrlicher Bericht</a>)

</td>

</tr>'

ohne die hochkommas am Anfang und Ende.

Die Ausgabe stimmt da genau.

kann es sein, dass PHP keine if/then Anweisungen in Regex erlaubt?

EDIT:
PS: Du musst natürlich auf http://regexlib.com/RETester.aspx noch singleline einschalten.
Und wieder: nach den <br>s werden vom Forum whitespaces eigefügt. Die musst du wieder entfernen.

Mit Zitat antworten
  #26 (permalink)  
Alt 02-11-2006, 15:13
highrise
 Member
Links : Onlinestatus : highrise ist offline
Registriert seit: Apr 2006
Ort: zu Hause *g*
Beiträge: 257
highrise ist zur Zeit noch ein unbeschriebenes Blatt
Standard

doch, erlaubt es..

du musst einfach nur bei </td> einen backslash als escape-zeichen vor dern slash setzen..

<\/td>

sonst ist er der meinung, der / wäre schon schließender delimiter und wertet das folgende t als Modifier.. das es den Modifier t nicht gibt, erzeugt er diesen Fehler in zeile 19..


21: preg_match_all("/<td>(?(.{1,80}<br> )(.*?<br> ))?(.*)<\/td>/is", $haupt, $td);

hier solltest du mal deine ? aufräumen.. und die klammern anders setzen..
öhhm.. sag mal bitte in worten, was hier gematcht werden soll..





greetz, high
__________________
Good programming is 40% experience, 20% skill, 20% RTFM, 15% caffeine, and 5% attention to detail.
When everything else fails, manipulate the data...
Beschriftungen / Großformatdruck / Werbemittel

Geändert von highrise (02-11-2006 um 15:15 Uhr)
Mit Zitat antworten
  #27 (permalink)  
Alt 02-11-2006, 15:40
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

lol, nee warum aufräumen?

bei if/then Abfragen in regexp braucht es die Klammern

und die Restlichen Klammern sind für die Ausgabe.
Mit Zitat antworten
  #28 (permalink)  
Alt 02-11-2006, 15:45
highrise
 Member
Links : Onlinestatus : highrise ist offline
Registriert seit: Apr 2006
Ort: zu Hause *g*
Beiträge: 257
highrise ist zur Zeit noch ein unbeschriebenes Blatt
Standard

die klammern für die Ausgabe müssen aber escaped werden.. mit \
sonst versucht er doch dort einen block draus zu erkennen..

oder reden wir aneinander vorbei? *grübel*... mir ist die Logik deiner bedingung nicht ganz klar..



greetz, high
__________________
Good programming is 40% experience, 20% skill, 20% RTFM, 15% caffeine, and 5% attention to detail.
When everything else fails, manipulate the data...
Beschriftungen / Großformatdruck / Werbemittel

Geändert von highrise (02-11-2006 um 15:49 Uhr)
Mit Zitat antworten
  #29 (permalink)  
Alt 02-11-2006, 15:50
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

ich glaube schon das ist ne Lookahead-kombination und wird in den regexp benutzt. Warum also escapen?

Lookahead --> Alternierungen

wenns immer noch nicht geht versuche es so:

"/<td(?: class=\"oben\")?>[\ ]?(\d{1,2}\.\d{1,2}\.\d{4})<\/td>\s*<td>(?(?=.{1,80}<br>)(.*?<br>))?(.*?)<\/td>/is"

hier noch ein Beispiel von mir:
http://mitglied.lycos.de/jmc/

EDIT:
Nicht vergessen nach den <br>s die Abstände zu löschen die das Forum reinmacht

Geändert von jmc (02-11-2006 um 16:03 Uhr)
Mit Zitat antworten
  #30 (permalink)  
Alt 02-11-2006, 16:06
highrise
 Member
Links : Onlinestatus : highrise ist offline
Registriert seit: Apr 2006
Ort: zu Hause *g*
Beiträge: 257
highrise ist zur Zeit noch ein unbeschriebenes Blatt
Standard

richtig.. nur, dann erwartet er ja auch eine assertion im folgenden.. (wie der fehler deutlich zum ausdruck bringt).. für einen positiven lookahead erwartet er noch ein =

also z.B. (?=foo).

greetz, high...
__________________
Good programming is 40% experience, 20% skill, 20% RTFM, 15% caffeine, and 5% attention to detail.
When everything else fails, manipulate the data...
Beschriftungen / Großformatdruck / Werbemittel
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:20 Uhr.