php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 29-04-2004, 17:47
lisa80
 Newbie
Links : Onlinestatus : lisa80 ist offline
Registriert seit: Apr 2004
Beiträge: 7
lisa80 ist zur Zeit noch ein unbeschriebenes Blatt
Standard über preg_match zwischen komentaren in html auslesen

hallo zusammen, ich nu wieder

ich nehme mal bezug auf:
suchen und finden mit preg_match

Zitat:
ich möchte aus einer datei den inhalt zwischen zwei kommentaren grabben <!--textbox_start--> und <!--textbox_end-->. bei meinem script bekomme ich zwar eine fehlermeldung aber auch den inhalt zwischen den kommentaren. wie ist der richtige reguläre ausdruck für die kommentare///walter005

die lösung war, unter anderen, von sky:
<?php
$file = "test.htm";
$suche_a = "<!--Textbox_start-->";
$suche_b = "<!--Textbox_end-->";
$pattern = "|($suche_a)(.*?)($suche_b)|is";
$fp = fopen ("$file","r");
if ($fp)
{
while (!feof($fp))
{
$zeile = fgets($fp, 10000);
while (preg_match($pattern, $zeile, $txt))
{
$zeile=$txt[2];
echo "<b>Inhalt:</b>".$txt[2];
}
}
fclose($fp);
}
?>


die ich sehr gerne übernommen habe *lach*

frage:
tatsächlich dürfen zwichen <!--textbox_start--> und <!--textbox_end--> im html-code keine absätze oder newlines sein.

gibt es irgend eine gar schlaue möglichkeit dieses zu umgehen... ich mag nämlich newlines

lg
lisa
Mit Zitat antworten
  #2 (permalink)  
Alt 29-04-2004, 20:13
Hopka
 PHP Expert
Links : Onlinestatus : Hopka ist offline
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.172
Hopka ist zur Zeit noch ein unbeschriebenes Blatt
Hopka eine Nachricht über ICQ schicken
Standard

Sky hat auch ein Tutorial zum Thema preg geschrieben:
http://www.php-resource.de/tutorials/read/10/1/

Lies dir das mal komplett duch, und guck besonders bei den Modifiern.
__________________
hopka.net!
Mit Zitat antworten
  #3 (permalink)  
Alt 29-04-2004, 20:18
Trashar
 PHP Senior
Links : Onlinestatus : Trashar ist offline
Registriert seit: Dec 2001
Ort: /root/
Beiträge: 1.366
Trashar ist zur Zeit noch ein unbeschriebenes Blatt
Trashar eine Nachricht über ICQ schicken Trashar eine Nachricht über AIM schicken
Standard

da steht sogar im prinzip schon die lösung!

PHP-Code:
preg_match("!<\!--textbox_start-->(.*?)<\!--textbox_end-->!im",$dein_string,$dummy); 
*ungetestet*
in $dummy[1] steht dann dein teil den du haben willst

evtl mit preg_match_all() arbeiten
mfg
Mit Zitat antworten
  #4 (permalink)  
Alt 04-05-2004, 12:25
lisa80
 Newbie
Links : Onlinestatus : lisa80 ist offline
Registriert seit: Apr 2004
Beiträge: 7
lisa80 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

*seuftz*

hallo zusammen... leider hat das alles dann doch nicht funktioniert.

@Hopka: alles durchgelesen und ausprobiert, ging leider nicht
@Trashar: auf preg_match_all umgestrickt, ging leider auch nicht

im moment sieht mein code so aus:

PHP-Code:
<?PHP
$file 
"_content.html";
$pattern "|($start)(.*?)($ende)|is"
$fp fopen ("$file","r"); 
if (
$fp

while (!
feof($fp)) 

$zeile fgets($fp1000000); 
while (
preg_match($pattern$zeile$txt)) 

$zeile=$txt[2];
echo 
$txt[2];


fclose($fp); 

?>
wobei die variablen start und ende über die url mitgeteilt werden:
xy.php?start=holladri-->&&ende=<!--holladriende

steht in der _content.html alles in einer zeile, funktioniert es auch... kaum habe ich im code ein linebreak, also quasi das hier "
"der sich auf das html nicht auswirkt, scheitert das preg_match.

$latein = "|am(.*)ende)|";

lg
lisa
Mit Zitat antworten
  #5 (permalink)  
Alt 04-05-2004, 13:11
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
steht in der _content.html alles in einer zeile, funktioniert es auch... kaum habe ich im code ein linebreak ... scheitert das preg_match.
wodran das wohl liegen mag
PHP-Code:
$zeile fgets($fp1000000); 
while (
preg_match($pattern$zeile$txt)) 

...

fgets gibt meines wissens und deiner betitelung nach nur eine zeile zurück .. wie der regexp dann bei mehrzeiligkeit matchen soll,

alles einlesen, dann ersetzen.
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #6 (permalink)  
Alt 04-05-2004, 13:34
lisa80
 Newbie
Links : Onlinestatus : lisa80 ist offline
Registriert seit: Apr 2004
Beiträge: 7
lisa80 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@derHund

d.h. ich muss einfach mit
PHP-Code:
$zeile fread($fp,1000000); 
arbeiten?!

funktioniert tadellos

lg
lisa
Mit Zitat antworten
  #7 (permalink)  
Alt 04-05-2004, 17:53
Trashar
 PHP Senior
Links : Onlinestatus : Trashar ist offline
Registriert seit: Dec 2001
Ort: /root/
Beiträge: 1.366
Trashar ist zur Zeit noch ein unbeschriebenes Blatt
Trashar eine Nachricht über ICQ schicken Trashar eine Nachricht über AIM schicken
Standard

oder $file = implode("\n",file('datei.txt'));
dann hast die ganze file in nem string
mfg
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

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

Formmailer Bootstrap 4

Mit dem Formmailer kann man sich eMails über seine Seite zukommen lassen.

08.07.2021 arne-home | Kategorie: PHP/ Formular
Fehlerseite Bootstrap 4

Bei Aufruf einer nicht existierenden Seite, teilen Sie Besuchern mit einer eigenen Fehlerseite mit, dass die gewünschte Seite nicht gefunden wurde. Die eigene Fehlerseite sollte dasselbe Design wie die Website haben. Zudem sollte ein Link zur Startseite a

04.07.2021 arne-home | Kategorie: PHP/ Counter
Upload Bootstrap 4

Mit dem PHP - Uploadscript kann man schnell und einfach Bilder und Dateien auf den Webserver hochladen.

04.07.2021 arne-home | Kategorie: PHP/ File
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:12 Uhr.