Gå til innhold

PHP·pub - Programming With Attitude - and beer


Anbefalte innlegg

Det er sikkert noen som har gjort dette fra før av så jeg gidder ikke å lage tråd:

Jeg trenger en funksjon for å gjøre om <table> til et array. Eksempel:

<table>:

<table>
<tr><td>Nummer 1</td><td>Nummer 2</td></tr>
<tr><td>Under 1</td><td>Under 2</td></tr>
</table>

Array:

[0] => Array {
   [0] => "Nummer 1",
   [1] => "Nummer 2"
   }
[1] => Array {
   [0] => "Under 1",
   [1] => "Under 2
   }

 

Akkurat nå er jeg ikke i programmeringshumør :(

 

EDIT: I tillegg er det jo et *must* at det virker hvis det er noen attributer på taggene :)

Endret av Judofyr
Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+6132

Hmm, må vel flere regulære utrykk til her. Ett som finner <table*>*</table> og lager array, ett som finner <tr*>*</tr> og bygger på arrayet, og til slutt ett som finner <td*>*</td> og setter inn verdiene. Eller er jeg helt på bærtur? (Og ikke spør meg etter utrykkene, slike gir meg hodepiner og det som verre er)

Lenke til kommentar

 

// finner alle tabelene
preg_match_all('#<table(.*)>(.*)(<\/table>)#iUs',$streng, $table_array);
$table_array = $table_array[2];



if(is_array($table_array)){
for( $table = 0; $table < count($table_array); $table++){
 // deler opp <tr> tagene
 $tr_array = preg_split('/(<tr(?:[^<>]+(?:"[^"]*"|\'[^\']*\')?)*>)/',$table_array[$table]);


 for( $tr = 1; $tr < count($tr_array); $tr++){
 	// deler opp <td>
 	$td_array = preg_split('/(<td(?:[^<>]+(?:"[^"]*"|\'[^\']*\')?)*>)/',$tr_array[$tr]);
 	if(is_array($td_array)){
   // lagrer alt i en array
   for( $td = 1; $td < count($td_array); $td++){
   	// fjerner slutt tagene
   	$data[$table][$tr][$td] = preg_replace("#(</td>|</tr>|</table>)#i", "", $td_array[$td]);
   	}

   }

 	}
 }
}

 

Er desverre ikke då flink i regex enda, så det ersikker mange feil her. men det virker da.

 

Noen som har en annen måtte å løse dette på ?

Lenke til kommentar
Bare kaster ut ideer her, men kan du ikke bruke en xml parser?

6337691[/snapback]

 

SimpleXML burde egentlig klart å gjøre jobben, men da må tabellen være "well-formed" og ikke ha noen kodefeil fra før, og det er ikke alltid at tabellsuppe er det. :shrug:

Lenke til kommentar
Hvor lenge bør man ta ferie etter en ny release? (Signaturen min :D )

 

Urk, blir nok ikke så lenge. Av en eller annen grunn er det alltid noe jeg har glemt å sjekke før jeg zipper og laster opp fila :p

6317271[/snapback]

13 språk. Det må jeg si er imponerende ;)

6317411[/snapback]

 

På min ezUserManager har jeg 16 oversettelser, det bare strømmer inn fra folk som bruker scriptet mitt! :D Eneste de får i bytte er en kommersiell-lisens. ;)

 

Helt genialt å ta i bruk språk-filer på prosjekter med en gang, så kan folk som vil oversette og legge til sine språk så lett som bare det! :w00t:

Endret av ZoRaC
Lenke til kommentar
Gjest Slettet+6132

<?php
header("Location: http://www.vg.no/");
?>

<?php
header("Location: http://www.vg.no/");
exit;
?>

 

Hva er forskjellen på disse to? Ble fortalt en gang at man skal bruke exit etter header, men hvorfor? Det er jo ikke noe output etter headeren, så hvorfor stoppe når den vil stoppe selv? :hmm:

Lenke til kommentar

<?php


header("Location: http://www.vg.no");
header("Location: http://www.dagbladet.no");
exit;

?>

 

Prøv koden over ? men først prøv å gjett hvilken side du havner på..

 

denne koden er kanskje ikke så farlig.. men hva hvis

 


if( $passord != $lagret_passord)
  header("Location: /login.php");
$_SESSION['innlogget'] = true;
session_write_close();
header("Location: /innlogget.php");

 

Hva vil skje her tror du ?

 

nettopp.. alltid fint å exit; etter et redirect..

Lenke til kommentar
<?php
header("Location: http://www.vg.no/");
?>

<?php
header("Location: http://www.vg.no/");
exit;
?>

 

Hva er forskjellen på disse to? Ble fortalt en gang at man skal bruke exit etter header, men hvorfor? Det er jo ikke noe output etter headeren, så hvorfor stoppe når den vil stoppe selv? :hmm:

6359614[/snapback]

Fordi enkelte browsere kan ignorerer redirection samt at header ikke avslutter kjøringen.

Endret av Ernie
Lenke til kommentar
Gjest Slettet+6132
Fordi enkelte browsere kan ignorerer redirection samt at header ikke avslutter kjøringen.

 

Da gir det litt mer mening ja, det tenke jeg ikke på engang :blush:

Lenke til kommentar

Vikingboard 0.1b ute :)

 

Noen som har lyst å teste litt? Rapporter alt du ser som kan være en bug. Hvis du er i tvil, send en epost til developers krøllalfa vikingboard punktum com (vi har en australs utvikler som også får eposter sendt til den adressen, så engelsk er foretrukket).

 

Husk at dette er en beta av den første Vikingboard-versjonen. Designet skal forresten pusses opp (og oppussingen er ikke ferdig ;)) til 0.1 final.

Endret av PT
Lenke til kommentar
Gjest Slettet+6132

Jeg fikk innstallert det, MySQL 4.1.10a. Kan være du har en eldre/nyere versjon som ikke liker noe av SQLen? ;)

Lenke til kommentar

Auda, dette lover bra :p

 

Litt vanskelig når feilen ikke skjer her, så dette blir et lite skudd i blinde:

 

* Åpne /install/install.php

* Gå til linje 759

* Sett '0' som siste parameter i spørringen

* Lagre, installer på nytt

 

Linje 759 før

UNIX_TIMESTAMP(), 'Hi, and welcome to your new Vikingboard installation. The board is now fully set up, <br />and you may start using it. A good way to start will be to delete this post and thread <br />and rearrange the forums and categories in a way you like. <br />The Vikingboard team.', '1', '127.0.0.1', '')");

Linje 759 etter (merk '0' nesten helt på slutten)

UNIX_TIMESTAMP(), 'Hi, and welcome to your new Vikingboard installation. The board is now fully set up, <br />and you may start using it. A good way to start will be to delete this post and thread <br />and rearrange the forums and categories in a way you like. <br />The Vikingboard team.', '1', '127.0.0.1', '0')");

Endret av PT
Lenke til kommentar
Gjest Slettet+6132
Litt vanskelig når feilen ikke skjer her, så dette blir et lite skudd i blinde

Hadde samme problemet selv en gang, tror det har noe med at eldre versjoner av mysql taklet NULL / NOT NULL annerledes. Uansett, jeg sendte en liten liste på mail :)

Lenke til kommentar

Har gått igjenom listen din nå, ang. User home så var det en liten glipp fra min side *-) glemte å fjerne den før vi slapp den ut, den har per idag ingen funksjon i hele tatt.

 

Men ellers er de andre bug'sene du har funnet notert og de blir fikset til neste utgivelse ;)

 

Takk for at du tar deg tid til å teste og sende kritikk!

Lenke til kommentar
Linje 759 etter (merk '0' nesten helt på slutten)

UNIX_TIMESTAMP(), 'Hi, and welcome to your new Vikingboard installation. The board is now fully set up, <br />and you may start using it. A good way to start will be to delete this post and thread <br />and rearrange the forums and categories in a way you like. <br />The Vikingboard team.', '1', '127.0.0.1', '0')");

6362310[/snapback]

 

Det funka (kjører faktisk versjon 5 av mysql ikke eldre slik som en annen trodde)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...