Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] Add RFC 3986 and WHATWG compliant URL parsing support #14461

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

kocsismate
Copy link
Member

@kocsismate kocsismate commented Jun 3, 2024

2nd take after the failed experiment with #11315

RFC: https://wiki.php.net/rfc/url_parsing_api

@@ -3715,7 +3715,6 @@ function uniqid(string $prefix = "", bool $more_entropy = false): string {}

/**
* @return int|string|array<string, int|string>|null|false
* @compile-time-eval
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed for benchmarking purposes

ext/url/php_url.c Outdated Show resolved Hide resolved

static void cleanup_parser(void)
{
if (++URL_G(urls) % 500 == 0) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approach is copy-pasted from lexbor/lexbor#206

@kocsismate kocsismate force-pushed the ext-url2 branch 5 times, most recently from 823e4c6 to e65deb7 Compare June 6, 2024 08:23
@kocsismate kocsismate changed the title Add ext/url based on Lexbor [RFC] Add ext/url based on Lexbor Jun 12, 2024
ext/url/php_url.c Outdated Show resolved Hide resolved
ext/url/config.m4 Outdated Show resolved Hide resolved
@nielsdos
Copy link
Member

nielsdos commented Oct 7, 2024

@kocsismate The build failures are not because of Lexbor itself, but because we use a slightly different data structure for the encodings in order to be more memory efficient (see the Note in https://github.com/php/php-src/blob/master/ext/dom/lexbor/patches/README.md)

@nielsdos
Copy link
Member

nielsdos commented Oct 7, 2024

I need to pull in a new version of Lexbor as well in 8.4 for the GB18030 changes so I'll handle the encoding changes.

@kocsismate
Copy link
Member Author

@nielsdos Ah thanks for the link! I totally missed the readme :/ TBH I silenced the compiler errors with -Wno-int-conversion.

I was about to report your findings back to my Lexbor issue, but I've just seen that you beat me to do it :)

@nielsdos
Copy link
Member

nielsdos commented Oct 7, 2024

TBH I silenced the compiler errors with -Wno-int-conversion.

I'll make a PR to update Lexbor now, then once that's merged you can rebase on master and get rid of the warning silencer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants