Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!



Zurück   Paules-PC-Forum.de > Programmierung > PHP/MySQL

PHP/MySQL Alles rund um die Programmiersprache PHP sowie MySQL.

Verlosung!


Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 46816, Antworten: 1302
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 10328, Antworten: 1595
Gehe zum ersten neuen Beitrag ATI Mobility Radeon HD 4650
Aufrufe: 78, Antworten: 5
Gehe zum ersten neuen Beitrag Treiber für Storagebird...
Aufrufe: 7, Antworten: 1
Gehe zum ersten neuen Beitrag Deckel vom Laptop defekt
Aufrufe: 85, Antworten: 4
Gehe zum ersten neuen Beitrag Kopfhörer für Sport gesucht
Aufrufe: 115, Antworten: 2
Gehe zum ersten neuen Beitrag Meine neue HD 7970 pfeift...
Aufrufe: 77, Antworten: 4
Gehe zum ersten neuen Beitrag Drucker lässt sich nicht...
Aufrufe: 27, Antworten: 1
Gehe zum ersten neuen Beitrag [Windows XP-32 bit] Startmenü Einträge...
Aufrufe: 644, Antworten: 57
Gehe zum ersten neuen Beitrag Kopiergeschwindigkeiten eSata...
Aufrufe: 93, Antworten: 3
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21.02.2005, 21:16   #1 (Direktlink)
Stammuser
 
Registriert seit: 08.01.2004
Beiträge: 471
Standard Problem mit preg_match()

Hallo,

ich bin dabei eine Function zu schreiben, die aus einer externen HTML-Seite Text zwischen bestimmten HTML-Tags herausfiltert. (Die Erlaubnis des Administartors hab ich )
Das Auslesen funktioniert, doch nun scheine ich an preg_match() zu scheitern.
Der HTML-Code wird zeilenweise eingelesen und durchsucht.
Folgenden Codeschnipsel habe ich gefunden:
Code:
preg_match('~(</head>|<body>|(<title>\s*(.*?)\s*</title>))~i', $d, $m
Ich bin mir nicht sicher, was ~(</head>|<body> bewirkt. Wahrscheinlich eine Einschränkung, dass der zu suchende Text nur vor </head><body> stehen darf (was ja für <title> auch sinnvoll ist).
Allerdings möchte ich eine Einschränkung, dass der Suchtext nur nach einer bestimmten Zeichenkette stehen darf. Wie krieg ich das hin?
Die Funktionsweise von preg_match() hab ich sowieso nie wirklich verstanden. Vielleicht kann jemand mal eine Übersicht über dich wichtigsten Platzhalter etc. posten.
Vielen Dank schonmal.
Eckard41 ist offline   Mit Zitat antworten
Werbung
Alt 22.02.2005, 17:48   #2 (Direktlink)
Wohnt hier
 
Registriert seit: 26.01.2003
Ort: N52°9'47.8" / E10°32'36.2"
Beiträge: 2.154
Standard

Und ich habe gedacht ich bin der einzige Regexps-Legasteniker .
Ich glaube dein Problem, lässt sich sofern ich es richtig verstanden habe auch mit strstr() lösen.

Angenommen dein Quelltext sieht so aus:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <title>New Document</title>
  </head>
  <body>
    blubber blubb viel Content den ich nicht brauch
    bitte lies mich ab hier aus
     Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
     sed diam nonumy eirmod tempor invidunt ut labore et dolore
     magna aliquyam erat, sed diam voluptua. At vero eos et accusam et 
     justo duo dolores et ea rebum. Stet clita kasd gubergren, 
     no sea takimata sanctus est Lorem ipsum dolor sit amet.
  </body>
</html>
Dann wird mit strtr("bitte lies mich ab hier aus"); nur noch
Code:
     Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
     sed diam nonumy eirmod tempor invidunt ut labore et dolore
     magna aliquyam erat, sed diam voluptua. At vero eos et accusam et 
     justo duo dolores et ea rebum. Stet clita kasd gubergren, 
     no sea takimata sanctus est Lorem ipsum dolor sit amet.
  </body>
</html>
ausgegeben.

Wie gesagt, ich hoffe ich habe deine Anfrage richtig verstanden.
__________________
Hier könnte Ihre Werbung stehen!
Tutti ist offline   Mit Zitat antworten
Alt 23.02.2005, 22:38   #3 (Direktlink)
Stammuser
 
Registriert seit: 08.01.2004
Beiträge: 471
Standard

Genau sowas hab ich gesucht. Auf die Idee mit strstr() wäre ich gar nicht gekommen.
Ich habe die zu suchenden Codestellen nun mit strstr() als Untergrenze und preg_match() umzingelt.
Vielen Dank!
Eckard41 ist offline   Mit Zitat antworten
Alt 23.02.2005, 22:45   #4 (Direktlink)
Wohnt hier
 
Registriert seit: 26.01.2003
Ort: N52°9'47.8" / E10°32'36.2"
Beiträge: 2.154
Standard

Zitat:
Ich habe die zu suchenden Codestellen nun mit strstr() als Untergrenze und preg_match() umzingelt
Ja stimmt so macht es Sinn. Habe gestern total überlesen, dass du die Seite ja Zeilenweise durchsuchst und nur mit strstr() kämst du da ja nicht weit.
__________________
Hier könnte Ihre Werbung stehen!
Tutti ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > PHP/MySQL

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen 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




Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2