Dag leden,
Ik probeer de volgende test van een zin te strippen: TEST1 > TEST 2 TEST3 >
De volledige zin is bijvoorbeeld TEST1 > TEST2 > TEST3 > Deze tekst mag blijven
Dit voor ik in in mijn functie "@^TEST1 \> TEST2 \> TEST3 \>@","\1"
Als ik alleen het woordje TEST1 bijv weg wil halen dus zonder de > te willen strippen werkt het wel. Ik weet dat je de > moet escapen, dat doe ik ook. Maar toch werkt het niet. Wat zie ik over het hoofd:
Functie:
<?php
//------------------------------------------------------------------------------
class ReplaceFilter
{
protected $pattern;
protected $replacement;
function __construct($regexps)
{
if(!empty($regexps))
{
if(preg_match('@\s*([\'\"\`])(.*)\1\s*,\s*([\'\"\`])(.*)\3\s*@i',$regexps,$matches) > 0)
{
if(isset($matches[2])&&isset($matches[4]))
{
$this->pattern = $matches[2];
$this->replacement = $matches[4];
print $this->pattern;
print $this->replacement;
}
}
}
}
function Execute($subject)
{
$retval = $subject;
if(!empty($this->pattern)&&!empty($this->replacement))
{
$retval = preg_replace($this->pattern,$this->replacement,$retval);
}
return $retval;
}
}
//------------------------------------------------------------------------------
?>
Wat er dus uiteindelijk door preg_replace wordt geparsed =
preg_replace(@^TEST1 \> TEST2 \> TEST3 \>@,\1,$retval)
- Regular expression werkt niet goed?
-
29-03-2010, 19:41 #1
- Berichten
- 29
- Lid sinds
- 15 Jaar
Regular expression werkt niet goed?
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic