[PHP] regels uit bestand halen die beginnen met "."

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Na mijn zoekweg door de search en het google labyrinth heb ik nog steeds niet gevonden wat ik zocht. Het is volgens mij allemaal niet zo moeilijk maar toch krijg ik het niet gedaan.

Ik probeer uit een Stylesheet alle class namen te halen, deze beginnen dus allemaal met een "."

Hierna moeten ze in een combo gestoken worden, allemaal geen probleem vanaf hier, maar het halen van de class namen uit de CSS file lukt me niet.

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 is wel benieuwd....
Wat lukt je niet? Wat heb je tot nu toe al voor relevantie code? :) Welke foutmeldingen krijg je of welke verschijnselen (ongewenst) komen er naar voren? :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
je zou het via een regexp kunnen doen...


maar, via de CSS dom en javascript kun je op eenvoudige wijze al je classes uit css halen...

http://www.eggheadcafe.com/articles/20030221.asp

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:29

crisp

Devver

Pixelated

gebruik een reguliere expressie en de multiline modifier, je kan dan zoiets gebruiken:

code:
1
/\s*\.([\w-]+)/m

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Dat hangt ervan af hoe je stylesheet is opgebouwd in de eerste plaats:
code:
1
2
3
4
5
6
7
8
9
10
11
12
/* manier 1*/

.someClass {

/*manier 2 */

a.someClass  /* al dan niet met een :active
{ 

/*manier 3 */

a.someclass, a.someclass:active {
Zo zijn er nog wel meer methoden te vinden. Kijk dus eerst goed naar de opbouw en ga dan aan de slag met preg_match_all. :)

edit:
LOL, spuit 16.

[ Voor 4% gewijzigd door RedRose op 04-05-2004 11:32 ]

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<html>
<head>
</head>
<body>
<?php
$filename = './Management.css';
$fp = fopen($filename, "r");
$contents = fread($fp, filesize($filename));
// get host name from URL
preg_match_all("/^(.)?([^{]+)/i",
   $contents, $matches);
   for ($i=0; $i< count($matches[0]); $i++) {
  echo "match : " . $matches[0][$i] . "\n";
} 
fclose($fp);
?>
</body>
</html>


Dit geeft enkel de eerste classnaam terug, hoe kan ik ervoor zorgen dat ie verder gaat nadat hij er een heeft gevonden, en deze dan in de volgende plaats van de array zet?

Acties:
  • 0 Henk 'm!

Verwijderd

count($matches[0])?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
euhm ja, om het aantal gevonden resultaten weer te geven. Spijtig genoeg maar 1 :(

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:29

crisp

Devver

Pixelated

zie mijn eerdere reply: gebruik de multiline modifier

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 04 mei 2004 @ 12:12:
code:
1
2
3
4
5
6
7
<html>
<head>
</head>
<body>
<?php
preg_match_all("/^(.)?([^{]+)/i", $contents, $matches);
?>
Moet het niet dit zijn?
PHP:
1
preg_match_all("/^\s*\.?([^{]+)/ui", $contents, $matches);

[ Voor 13% gewijzigd door NMe op 04-05-2004 12:34 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

NMe84 schreef op 04 mei 2004 @ 12:33:
[...]

Moet het niet dit zijn?
Of deze ;) :
PHP:
1
$pattern="/\.(\w*)[^{]/im";

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RedRose schreef op 04 mei 2004 @ 12:53:
[...]
Of deze ;) :
PHP:
1
$pattern="/\.(\w*)[^{]/im";
Dit is ie , nu nog het "." in het begin wegkrijgen, en de "," of ":" op het einde als die er staat.

Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Verwijderd schreef op 04 mei 2004 @ 13:24:
Dit is ie , nu nog het "." in het begin wegkrijgen, en de "," of ":" op het einde als die er staat.
Klopt, leef jezelf uit. :)

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RedRose schreef op 04 mei 2004 @ 13:26:
[...]
Klopt, leef jezelf uit. :)
graag , maar ben echt niet zo handig met die regular expressions, dus mss toch een kleine tip >:)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok gevonden

doe gewoon een str_replace :)

Acties:
  • 0 Henk 'm!

  • BHR
  • Registratie: Februari 2002
  • Laatst online: 17-09 21:58

BHR

Bevat matches[2] niet gewoon de class namen zonder '.' ervoor :? ? (Gezien de regex)


edit:
my mistake O-) keek naar 2 verschillened regex's op hetzelfde moment, maar de goede kun je er op aanpassen dat het wel het geval is.. :Y)

[ Voor 51% gewijzigd door BHR op 04-05-2004 14:51 ]

No amount of key presses will shut off the Random Bug Generator

Pagina: 1