Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „File_get_contents“

rey

Der Frager ;)

hi,
ich stehe mal wieder vor einem Problem ;(
ich lese eine externe Tabelle nur möchte ich nun das mit z.b %2 oder %3 (Modulo) die Hintergrundfarbe der Zeile geändert wird.
Leider bekomme ich immer einen timeout weil ich wohl einen Fehler habe
hier mein Ansatz
PHP:
$pattern = "<tr (.*)>(.*)</tr>";
while(preg_match_all($pattern, $str, $pat)){

if($counter%2==0)
{
  $str = $pat[1].'<tr bgcolor=\"#ccc\">'.$pat[3]; 
}
else{
    $str = $pat[1].'<tr bgcolor=\"#0ff\">'.$pat[3]; 
}
  $counter++;
}
ich hatte auch schon versucht bei $pattern = "(*.)<tr (.*)>" aber auch das hat nicht geklappt es kam da sogar die Meldung
Warning: preg_match() [function.preg-match]: Unknown modifier '<'/quote]
 
Zuletzt bearbeitet:

sokie

Mod | Web

AW: File_get_contents

warum um alles in der Welt heisst die überschrift "file_get_contents' ? :D

warum machst du es nicht mit css klassen?

PHP:
if($counter %2 = 0){
  $klasse = " class="alternate";
} else {
  $klasse = "";
}
echo "<tr $klasse>"
 

rey

Der Frager ;)

AW: File_get_contents

weil es eine externe Tabelle ist :/
die komplette Tabelle ist in einem String gespeichert
ich bin weiter gekommen aber leider nimmt es immer nur die eine Farbe
PHP:
if(preg_match_all("<tr (.*)>",$str,$zeug))
{
    
    for($i=0;$i<sizeof($zeug[0]);$i++)
    {
        if($i%2==0)
        {
            
            $str = preg_replace("<tr (.*)>","tr class=red>",$str);
        }
        else{
    
            $str = preg_replace("<tr (.*)>","tr bgcolor=green>",$str);    
            }
    }
}
er springt zwar auch manchmal in den else Zweig hat aber keine Auswirkung alle Zeilen sind rot
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: File_get_contents

Schau dir doch einfach mal den erzeugten Quellcode an, dann siehst du was falsch ist.
Gutes HTML ist das jedenfalls nicht, was du dort produzierst (z.B. keine Anführungszeichen um die Attributwerte, fehlende spitze Klammern bei den tr-Tags).


Duddle
 

rey

Der Frager ;)

AW: File_get_contents

Das html sieht richtig aus
HTML:
<table width=100% align=center border="0"><tr align=left><th></th><th>Map</th>
<th>Type</th>
<th>Outcome</th>
<th>Date</th>
</tr>
<tr bgcolor='red'>
    <td>

        
        <div id="match-mode-0" style="display: none">
            <strong>Type:</strong> 1v1<br />
            <strong>Speed:</strong> Faster
        </div>
    </td>
    <td>Blistering Sands</td>

    <td>
    <td>
        <span class="match-win">Win</span>
            (<span style="color:green;">+12</span>)
    </td>
    <td>
        9/20/2010
    </td>

</tr>
<tr bgcolor='red'>
    <td>
        
        <div id="match-mode-1" style="display: none">
            <strong>Type:</strong> 1v1<br />
            <strong>Speed:</strong> Faster
        </div>

    </td>
    <td>Steppes of War</td>
    <td>
    <td>
        <span class="match-loss">Loss</span>
            (<span style="color:red;">-13</span>)
    </td>

    <td>
        9/20/2010
    </td>
</tr>
Ich habe die Spitze Klammer bei dem tr weggelassen weil immer eine extra spitze klammer angefügt wird.
 

Duddle

Posting-Frequenz: 14µHz

AW: File_get_contents

Dein HTML ist falsch. Du schliesst mindestens 2 mal ein <tr> statt ein <td>, im Beispiel zwei mal nach 9/20/2010 (es kommt ein </td>, dann das frühzeitige </tr>).

Das heißt, deine Ursprungstabelle ist falsch (oder du schneidest irgendwo zu viel raus).


Duddle
 

rey

Der Frager ;)

AW: File_get_contents

ja es gab einen Fehler das ein td wurde nicht geschlossen hab den Fehler behoben hat aber keine Auswirkung auf das ganze
HTML:
<td>Blistering Sands</td>
 <td>     
<td>         <span class="match-win">Win</span>             (<span style="color:green;">+12</span>)     </td>
 <td>         9/20/2010     </td>  
</tr>
muss natürlich so heißen
HTML:
<td>Blistering Sands</td>      
<td> </td>
<td>         <span class="match-win">Win</span>             (<span style="color:green;">+12</span>)     </td>     
<td>         9/20/2010     </td>  
</tr>
 

Duddle

Posting-Frequenz: 14µHz

AW: File_get_contents

Und wo ist jetzt dein Problem? Ich sehe offensichtlich nicht, wie .match-win beschrieben ist, richtig angewandt wird es aber.

Edit: Beispiel
HTML:
<style type="text/css" media="screen">
	.match-win{
		background-color:yellow;
	}
</style>
<td>Blistering Sands</td>      
<td> </td>
<td>         <span class="match-win">Win</span>             (<span style="color:green;">+12</span>)     </td>     
<td>         9/20/2010     </td>  
</tr>
ergibt
jyfiL.png



Duddle
 
Zuletzt bearbeitet:

rey

Der Frager ;)

AW: File_get_contents

es geht um die tr's und nicht td's
ich möchte die komplette Zeile mit Farbe hinterlegen.
 

sokie

Mod | Web

AW: File_get_contents

dafür musst du doch nur die <tr> im string finden und jeden zweiten Fund mit einer class ausstatten, den rest machst du per css.
lass die veralteten align weg (eine tabelle, die 100% der verfügbaren Breite einnimmt muss nicht zentriert werden, und infolge auch nicht für das tr align=left gesetzt werden, weil das sowieso standard ist.

im css kannst du für alle tr eine Hintergrundfarbe definieren, und für die mit class eine extra bg farbe.

die Voraussetzung dafür ist natürlich dass deine Tabelle korrektes html hat
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: File_get_contents

Ahja, ich war davon ausgegangen, dass der Beispielcode schon der ist, den du willst. Offenbar willst du über diesen dann dein preg_replace ziehen.

Gut, dann eliminier mal folgende Fehlerquellen: deinem RegEx fehlt ein Delimiter. Ausserdem arbeitet preg_replace standardmässig auf allen gefundenen Matches, du müsstest das mit dem limit-Parameter auf einen begrenzen.

Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben