Avatar billede doomstone-dk- Nybegynder
08. november 2007 - 18:27 Der er 11 kommentarer og
2 løsninger

Ereg problem

Jeg har et lille problem med en ereg

Jeg har en sting som ser sådan her ud
"<validator type='empty' target='name' text='Du har ikke indtasted dit navn' style='text: read;' />"

Når ud udføre mit php script:
preg_match("/.*type=\'(.*)\'.*$/", $content[0], $t);
if($t[1] == "") preg_match("/.*type=\"(.*)\".*$/", $content[0], $t);
var_dump($t);die();

Resultatet bliver så:
array(2) {
  [0]=>
  string(87) " type='empty' target='name' text='Du har ikke indtasted dit navn' style='text: read;' /"
  [1]=>
  string(77) "empty' target='name' text='Du har ikke indtasted dit navn' style='text: read;"
}


Hvad skal jeg gøre for bare at få "empty"??

Tak for hjælpen
Avatar billede nielle Nybegynder
08. november 2007 - 18:38 #1
Sådan?

preg_match("/.*type=\'(.*?)\'.*$/", $content[0], $t);
Avatar billede jakobdo Ekspert
08. november 2007 - 18:39 #2
Prøv at tilføj ? eftet (.*
så din preg_match() bliver til:
preg_match("/.*type=\'(.*?)\'.*$/", $content[0], $t);
Avatar billede jakobdo Ekspert
08. november 2007 - 18:40 #3
(.*)\' gør den løber helt hen til: read;'
regexp er grådig.
Og med ? fortæller du den kun skal "løbe" til første gang den støder på en '

Og jeg skal være bedre til F5 inden jeg skyder... :o(
Avatar billede nielle Nybegynder
08. november 2007 - 18:51 #4
Alternativt:

preg_match("/.*type=\'([^']*)\'.*$/", $content[0], $t);
Avatar billede doomstone-dk- Nybegynder
08. november 2007 - 18:51 #5
Tusind tak, kan i begge ikke skrive noget som et svar så i kan få point?
Avatar billede nielle Nybegynder
08. november 2007 - 19:04 #6
Svar :^)
Avatar billede doomstone-dk- Nybegynder
08. november 2007 - 19:13 #7
Venter lige på Jakobdo svar også så lukker vi :D
Avatar billede jakobdo Ekspert
08. november 2007 - 19:14 #8
Svar!
Avatar billede nielle Nybegynder
08. november 2007 - 19:14 #9
Fint med mig :^)

Forresten, hvorfor skriver du ereg i overskriften når det er preg_xxx du bruger?
Avatar billede nielle Nybegynder
08. november 2007 - 19:15 #10
Og jeg skal være bedre til F5 inden jeg skyder... ;o)
Avatar billede doomstone-dk- Nybegynder
08. november 2007 - 19:18 #11
Hehe fordi jeg ikke aner en skid omkring preg :D trode bare a metoden hedder ereg.
Avatar billede jakobdo Ekspert
08. november 2007 - 19:25 #12
Takker for point.
Avatar billede nielle Nybegynder
08. november 2007 - 19:44 #13
PHP kommer med hele to "famillier" til regulære udtryk:

ereg_xxx() funktionerne
preg_xxx() funktionerne

Grunden har noget at gøre med hvordan PHP har udviklet sig over tiden. Man bør altid bruge preg_xxx() funktionerne.

... og tak for point :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester