Toon posts:

[reg expression] strip comment

Pagina: 1
Acties:

Verwijderd

Topicstarter
Dag leute,

ik ben een echt reg expression noob en ondanks het vele lezen online kom ik er niet veel wijzer uit.
Ik ben bijv. aan het testen maar krijg bij onderstaande geen resultaat en ik heb geen idee waarom!
Wil iemand me op weg helpen? Ik dacht nl. echt dat ik de juiste dingen voorzie van een backslash!

PHP:
1
2
3
4
5
$text = "<!-- text1 --><! text2 -->";

if (preg_match("/\<\!\-\-.*\-\-\>/", $text, $match1)) {
    echo $match1[0];
}


Verwijzingen naar goede reg-expression tuts zijn ook zeer welkom!

Thanks,

[ Voor 6% gewijzigd door Verwijderd op 11-02-2008 13:40 ]


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Dude, dat matcht wel, maar je output enkel html comments dus zie je niets. 8)7

Met een beetje standaard debug aanpak bega je nooit meer een dergelijke flater: view source, of doe gewoon var_dump($match1);, welke tevens informatiever is, of zet ook een else neer met echo 'wa!', etc. etc.

[ Voor 58% gewijzigd door Voutloos op 11-02-2008 13:54 ]

{signature}


  • frickY
  • Registratie: Juli 2001
  • Laatst online: 25-01 14:44
Je hebt geen subpatterns, dus je $match wordt ook niet gevuld.

Je topictitel doet vermoeden dat je comments weg wilt halen.
Je code doet vermoeden dat je de comments zonder HTML-comment tags wilt tonen
Wat is nou eigenlijk je bedoeling?

Omring het gedeelte welke je in matches terug wilt zien met ronde haken. Vergeet de ungreedy-modifier niet om te voorkomen dat je in 1x van de eerste tot de laatste comment matched, inplaats van per stuk

Overigens hoef je een dash buiten square brackets niet te escapen. Daar buiten heeft die geen aparte functie;

PHP:
1
2
3
4
$text = "<!-- text1 --><! text2 -->"; 
$match1 = array();
preg_match("/<!-- (.+) -->/U", $text, $match1);
var_dump($match1);


De PHP manual omschrijft alles wat je moet weten
http://nl.php.net/manual/...e.pcre.pattern.syntax.php

[ Voor 7% gewijzigd door frickY op 11-02-2008 14:05 ]


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
frickY schreef op maandag 11 februari 2008 @ 14:02:
Je hebt geen subpatterns, dus je $match wordt ook niet gevuld.
Nee, preg_match geeft gewoon true terug en $match1[0] bevat gewoon de gehele string. ;)

Voor de rest een prima post natuurlijk. :P

{signature}