Giter VIP home page Giter VIP logo

Comments (3)

danon avatar danon commented on May 25, 2024

Unfortunately, the same will have to be done for Pattern::prepare()/Pattern::bind()/Pattern::inject(),
because

Pattern::inject(',@,m', $_POST['a']);

is this a delimited pattern or not?

They will have to treat it's $pattern as undelimited by default, and there should be a new method to allow for creating a delimited ("standard") pattern.

Perhaps

  • PatternBuilder::builder()->prepare() - default, unlimited pattern (same as Pattern::prepare())
  • PatternBuilder::builder()->noAutomaticDelimiter()->prepare() - "standard"
  • PatternBuilder::builder()->pcrePattern()->prepare() - same

from t-regx.

danon avatar danon commented on May 25, 2024

But now problem arises:

  • You can't now pass an arbitrary string and validate it pattern('/hello?/')->is()->valid() :/
  • Possible solutions:
    • two methods? Like Pattern::of()/Pattern:pcre(), but for pattern()?
    • Improve pattern guessing:
      • Only allow for guessing of certain, unambiguous delimiters (/, #)
      • Parse flags
      • Restore is() method

from t-regx.

danon avatar danon commented on May 25, 2024

Basically, to throw an arbitrary string, go

Pattern::pcre('/hello?/m')->valid();

To validate T-Regx style patterns, go:

pattern('hello?', 'm')->valid();
Pattern::of('hello?', 'm')->valid();

from t-regx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.