Ticketa
Registered
Опитам се да направя една проверка чрез preg_match.
При използването в момента ако имам стринг: {neshto:alabala}
preg_match('/^\{([a-z_-]+).*)\}$/', $segment, $matches)
Работи коректно, обаче искам да добавя още един параметър, който да не е задължителен. Представям си го по следния начин:
paramteraramtertext or null)
{neshto:alabalaortokala}
Резултат: okay
{neshto:alabala}
Резултат: okay
Тоест, preg_match да проверява дали има трети параметър и ако го има да го ползва, ако го няма просто да го игнорира. Мога да направя 2 preg_match, но имам бегли спомени, че чрез question mark ? може да се каже да се пропусне параметъра, ако е празен.
preg_match('/^\{([a-z_-]+).*)(?.*))\}$/', $segment, $matches)
Това е страшна глупост, което давам като пример и да, определено ще обърна внимание в изучаването на Regex. Все пак ако някой може да даде жокер
При използването в момента ако имам стринг: {neshto:alabala}
preg_match('/^\{([a-z_-]+).*)\}$/', $segment, $matches)
Работи коректно, обаче искам да добавя още един параметър, който да не е задължителен. Представям си го по следния начин:
paramteraramtertext or null)
{neshto:alabalaortokala}
Резултат: okay
{neshto:alabala}
Резултат: okay
Тоест, preg_match да проверява дали има трети параметър и ако го има да го ползва, ако го няма просто да го игнорира. Мога да направя 2 preg_match, но имам бегли спомени, че чрез question mark ? може да се каже да се пропусне параметъра, ако е празен.
preg_match('/^\{([a-z_-]+).*)(?.*))\}$/', $segment, $matches)
Това е страшна глупост, което давам като пример и да, определено ще обърна внимание в изучаването на Regex. Все пак ако някой може да даде жокер
Код:
<?php
$urls = array(
' {neshto:alabala}',
' {neshto:alabala:portokala}',
);
foreach ($urls as $url) {
preg_match( "/^\{([a-z_-]+):(.*)(:(.*))\?\}$/", $url, $m);
print_r($m);
}