Prestashop preg_match cleanNonUnicodeSupport

Prestashop preg_match cleanNonUnicodeSupport

这是prestashop的一段代码classes/validate.php:

  public static function isReference($reference)
    {
        return preg_match(Tools::cleanNonUnicodeSupport('/^[^<>;={}]*$/u'), $reference);

这将检查该值是否为参考值。它的工作方式是什么,' ' 引号之间是允许通过的字符还是不允许通过的字符?当我把它留空时'',什么都没有通过,但我需要允许任何事情通过。

如何修改它以便引用可以是任何内容?

要确保匹配任何内容,您可以使用 [\s\S]:

preg_match(Tools::cleanNonUnicodeSupport('/^[\s\S]*$/u'), $reference);

这将匹配 0 或更多的任何字符。
或者

preg_match(Tools::cleanNonUnicodeSupport('/^[\s\S]+$/u'), $reference);

这将匹配 1 或更多的任何字符。