Gå til innhold

PHP·pub - Programming With Attitude - and beer


Anbefalte innlegg

Skrevet (endret)

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
Videoannonse
Annonse
Gjest Slettet+6132
Skrevet

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)

Skrevet

 

// 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å ?

Skrevet

Det der ser ganske bra ut, men tabeller inni hverandre funker ikke...

 

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

Skrevet
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:

Skrevet (endret)
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
Gjest Slettet+6132
Skrevet

<?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:

Skrevet

<?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..

Skrevet (endret)
<?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
Gjest Slettet+6132
Skrevet
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:

Skrevet (endret)

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
Gjest Slettet+6132
Skrevet

Kan teste jeg, har ikke noe bedre å gjøre uansett ;)

Gjest Slettet+6132
Skrevet

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

Skrevet (endret)

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
Gjest Slettet+6132
Skrevet
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 :)

Skrevet

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!

Skrevet
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)

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å
×
×
  • Opprett ny...