php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.10.2006, 10:23  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 610
Connar befindet sich auf einem aufstrebenden Ast
Standard String mit preg_match() zerlegen

Irgendwie steh ich grad aufm Schlauch und konnte au leider mit der Suchfunktion nichts passendes finden. Wäre nett, wenn ihr mir helfen könntet

Und zwar will ich mit preg_match() aus einem HTML-Dokument, einen bestimmten Teil einer Tabelle herausschneiden. Nehmen wir an, das HTML-Dokument sehe so aus:

Code:
<table width="300" height="200" cellpadding="0" cellspacing="1" bgcolor="#000000">
	<tr>
		<td width="300" height="40" colspan="2">
		<table width="225" height="20" cellpadding="0" cellspacing="0">
			<tr>
				<td width="50" height="40" class="logo"></td>
				<td width="5" height="40" class="spacer"></td>
				<td width="245" height="40" class="header">HTML-Dokument</td>
			</tr>
		</table>
		</td>
	</tr>
	...
</table>
Jetzt will ich die Spalte herausschneiden, in der class="header" vorkommt. Dazu soll er ja eigentlich nur überprüfen, wo <tr> startet und </tr> endet, wobei dazwischen irgendwo class="header" vorkommen soll. Meine Versuche sind kläglich gescheitert, weswegen ich die lieber mal weglasse ^^


MFG Connar
Connar ist gerade online  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.10.2006, 11:14  
CIX88
Gast
 
Beiträge: n/a
Standard

Zitat:
mit preg_match() aus einem HTML-Dokument
Die Frage, wie das geht, wurde schon 100000mal hier gestellt.
Mittels der Suchfunktion sollte man etwas finden.

Zitat:
Meine Versuche sind kläglich
Und wie sahen die bisher aus ?
 
Alt 30.10.2006, 11:40  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 610
Connar befindet sich auf einem aufstrebenden Ast
Standard

Sowas kann ich echt net leiden. Ich hab doch erwähnt, dass ich die Suchfunktion verwendet hab und dabei nichts Sinnvolles hervor kam ...
Es gibt zwar wunderbar viele Themen zu preg_match() aber die behandeln meistens die einfacheren Fälle, wie einen Link herausholen oder so.

Mein letzter Versuch sah etwa so aus:

PHP-Code:
preg_match("/<tr>[^c]*[^l]*[^a]*[^s]*[^s]*[^=]*[^\"]*[^h]*[^e]*[^a]*[^d]*[^e]*[^r]*[^\"]*class=\"header\">[^<]*[^\/]*[^t]*[^r]*<\/tr>/"$document$part); 

MFG Connar
Connar ist gerade online  
Alt 30.10.2006, 12:40  
CIX88
Gast
 
Beiträge: n/a
Standard

Zitat:
Jetzt will ich die Spalte herausschneiden
Warum benutzt du dann preg_match() ?
preg_replace() wäre da eigentlich angebrachter

Zitat:
Sowas kann ich echt net leiden
Ich habe zwar schon graue Haare, weis aber definitiv, dass solche ähnlichen Fragen schon gestellt wurden.
Daraus könnte man ganz einfach ableiten.

Zitat:
width="245"
Steht diese Angabe immer dort in dieser Zeile ?
Falls ja, könnte man dies mit als Bezugspunkt verwenden.
 
Alt 30.10.2006, 12:54  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 610
Connar befindet sich auf einem aufstrebenden Ast
Standard

Nee, also da kann auch ne andere Breite sein (oder evtl. auch garkeine). Mit herausschneiden meinte ich eigentlich net herausschneiden ^^ sondern ich möchte gerne nur diesen Teil haben


MFG Connar
Connar ist gerade online  
Alt 30.10.2006, 13:01  
CIX88
Gast
 
Beiträge: n/a
Standard

Oder steht dort class="spacer" immer davor ?
 
Alt 30.10.2006, 13:03  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 610
Connar befindet sich auf einem aufstrebenden Ast
Standard

Nein, aber mir fällt gerade auf, dass height="40" immer davor steht.
Bin mir nur leider noch net sicher, wie du des als Bezugspunkt verwenden möchtest. Wäre nett, wenn dus erklären könntest


MFG Connar
Connar ist gerade online  
Alt 30.10.2006, 13:07  
CIX88
Gast
 
Beiträge: n/a
Standard

Also eine allgemeine einfache Lösung zu finden, ist nicht so einfach (schönes deutsch).
Deshalb als Versuch als Pattern:
Code:
'~<td\s*width="[\d]+"\s*height="[\d]+"\s*class="header".*?/td>~is'
Setzt natürlich voraus, dass Angaben wie width oder height sich immer an diesen Positionen befinden.
Wenn man nach bestimmten Zeilen sucht, muss man dem RegEx einen Anhaltspunkt bzw. Bezugspunkt liefern, sonst findet er nichts oder alles
 
Alt 30.10.2006, 13:38  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Warum müsst ihr immer fremden Content klauen? Was heißt ihr, wir erledigen ja die Arbeit..

Übrigens ist String-Verarbeitung eine PHP-Grundlage. Mit strpos() und substr() kannst du dein Problem locker lösen.
Zergling-new ist offline  
Alt 30.10.2006, 13:42  
CIX88
Gast
 
Beiträge: n/a
Standard

Zitat:
Warum müsst ihr immer fremden Content klauen?
Wie „ihr” ?
Bitte nicht gleich die Mehrzahl benutzen.
 
 


Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
String auslesen Shaira PHP Tipps 2006 11 01.12.2006 17:52
String in mehrere kleine Teile zerlegen Unknown PHP Tipps 2006 9 23.05.2006 16:33
string aus scmxx zerlegen Sachse PHP Tipps 2006 1 18.03.2006 19:19
Alle Spalten nach String durchsuchen Jacks Rache Datenbanken 0 05.08.2005 09:41
[Erledigt] String in Zeilen zerlegen PHP Tipps 2005 3 12.05.2005 18:42
String zerlegen PHP Tipps 2005 4 06.05.2005 20:42
String zerlegen php1 PHP Tipps 2005 2 30.04.2005 19:39
String in seine Einzeilteile zerlegen PHP Tipps 2005 2 08.04.2005 00:09
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
String zerlegen und jeweils als Bild ausgeben PHP Tipps 2005 6 08.02.2005 15:19
URL String zerlegen für Datenbank Dave Waterstone PHP Tipps 2004 3 03.11.2004 11:39
[Erledigt] String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47
String zerlegen im Array PHP Tipps 2004 4 29.06.2004 08:33
String zerlegen PHP-Fortgeschrittene 2 08.06.2004 18:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
preg_match url zerlegen, preg_match string zerlegen, http://www.php.de/php-tipps-2006/42667-string-mit-preg_match-zerlegen.html, string klauen, php preg_match url zerlegen, preg_match text ausschneiden, preg_match ausschneiden, preg_match_all string innerhalb strings, php class url zerlegen, zeichenkette an einem punkt zerlegen, php header zerlegen, php teilstring ausschneiden, preg_match_all string zerlegen, php string link aus html code ausschneiden, string php zerlegen nach punkt, preg_match mitte ausschneiden, php string bei punkt zerlegen, string bei punkt zerlegen php, php preg_match_all zerlegen, teilstring preg_match

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.