Я пытаюсь проанализировать список XML-правил PHPIDS (можно загрузить с их сайта http://phpids.org/), по введенному URL-адресу с помощью регулярных выражений XML.
Теперь я очень мало знаю о регулярных выражениях, и яЯ попытался осмотреться, и я не нашел много информации, которая мне показалась бы полезной.
Я хотел бы сделать что-то вроде этого (psuedo), если URL == regex die ();
Это моя последняя попытка, из многих:
<?php
$file="default_filter.xml";
$load = simplexml_load_file($file);
$regex = $load->filter->rule;
$url = explode(" ","http://localhost/test.php");
$url2 = "http://localhost/test.php";
if(in_array($regex,$url))
{
echo "bad url";
}
if(preg_match($regex,$url2))
{
echo "bad url";
}
//The above gives me Warning: preg_match() [function.preg-match]: Unknown modifier '|' in C:\wamp\www\test.php on line 12
//Which, already i don't understand regex so i dont know why the above is a problem...
?>
Если я смогу заставить ее работать, я переберу правила, но сейчас я просто пытаюсь 1регулярное выражение, чтобы заставить его работать.
но я не могу понять, чтобы заставить работать регулярное выражение.
Это регулярное выражение, которое извлекается из файла XML:
<rule><![CDATA[(?:"[^"]*[^-]?>)|(?:[^\w\s]\s*\/>)|(?:>")]]></rule>
хотя я ничего не понимаю ...
Заранее спасибо всем, кто может мне помочь.