Autor Zpráva
rgv
Profil *
Ahoj. Je nějaká jednoduchá možnost, jak zjistit zda je daný řetězec regulární výraz? Doteď používám @preg_match, ale nejsem si jist jestli to nemůže ve specifických případech skončit errorem či výjimkou.
Jozin
Profil *
Ahoj,

myslíš jako, že chceš zajistit, aby řetězec, který používáš jako regulární výraz byl určitě regulárním výrazem?
Pokud ano, tady je manuál k funkci preg_quote, která ti ten řetězec převede...

Jestli máš jiný problém, tak se zkus zeptat konkrétněji, nebo dej ukázku kódu a čeho se bojíš, že by se mohlo stát.

Jozin.
rgv
Profil *
Uživatelé si mohou definovat nějaké řetězce. Já takové řetězce regulárně porovnávám oproti nějakým jiným. Ovšem uživatelé občas použijí pro své řetězce regulární výrazy, občas ne a občas jsou ty regulární výrazy špatně. Jde mi hlavně o to, aby @preg_match v takových případech skončilo vždy false, což by teoreticky mělo, ale netuším jaká jsou skrytá bezpečnostní rizika.
Jozin
Profil *
znak @ potlačuje jakékoli errory. Pokud nastane vrátí se false, takže se opravdu bát nemusíš. preg_match bezpečnostním rizikem není, horší to bude, pokud někde budeš zadaný řetězec ukládat a pak vypisovat, nebo rovnou vypisovat...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: