Skip to content

[CSSProcessor] Replace utf8_codepoint_at with utf8_ord - #202

Merged
adamziel merged 2 commits into
trunkfrom
use-utf8-ord-in-class-cssprocessor
Nov 1, 2025
Merged

[CSSProcessor] Replace utf8_codepoint_at with utf8_ord#202
adamziel merged 2 commits into
trunkfrom
use-utf8-ord-in-class-cssprocessor

Conversation

@adamziel

Copy link
Copy Markdown
Collaborator

Replaces the utf8_codepoint_at() call in CSSProcessor with utf8_ord(). This removes the last reference to utf8_codepoint_at() from the codebase so the next PR will remove that function, see #200 for prior context.

cc @dmsnell

@adamzieladamziel added the enhancement New feature or request label Nov 1, 2025
@adamzieladamziel mentioned this pull request Nov 1, 2025
@adamziel
adamziel merged commit 72c1176 into trunkNov 1, 2025
22 checks passed
adamziel added a commit that referenced this pull request Nov 2, 2025
Removes the `utf8_codepoint_at()` function. It is no longer used as all
the php-toolkit classes are migrated to the `_wp_scan_utf8` function
shipped with WordPress 6.9.
Follows up on #200
Solves #196#201 and #202 must be merged before this PR.
adamziel added a commit to WordPress/wordpress-importer that referenced this pull request Nov 4, 2025
Adds support for rewriting URLs inside CSS syntax, e.g. here:
```html
<div style="background-image:url('https://github.laxmiang.work.gd/r/github.com/wp-content/uploads/2025/09/image-2-766x1024.jpeg')">
```
Before this PR, the `style` attributes in, e.g., the cover block were skipped by the URL rewriter and continued pointing to the old site.
Fixes#223
## Implementation details
This PR backports `CSSProcessor`, `CSSURLProcessor`, and a few related PRs around Unicode handling from the WordPress/php-toolkit repo:
* WordPress/php-toolkit#197
* WordPress/php-toolkit#195
* WordPress/php-toolkit#199
* WordPress/php-toolkit#200
* WordPress/php-toolkit#201
* WordPress/php-toolkit#202
Note the CSSProcessor and CSSURLProcessor are tested against 300 test cases containing various tricky inputs, quoted and unquoted URLs, strings, comments, unicode escape sequences, and more.
## Testing instructions
This PR comes with a new test case specifically for various tricky CSS inputs. You're also welcome to try and import a WXR file that contains an inline background-image reference and confirm the URL is correctly rewritten.
@sirreal
sirreal deleted the use-utf8-ord-in-class-cssprocessor branch April 8, 2026 08:28
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@adamziel