Skip to content

Instantly share code, notes, and snippets.

@skyzyx
Last active July 19, 2018 21:53
Show Gist options
  • Save skyzyx/e7180c7c7a6b2c479724a27ac8d13fcc to your computer and use it in GitHub Desktop.
Save skyzyx/e7180c7c7a6b2c479724a27ac8d13fcc to your computer and use it in GitHub Desktop.
Faster case-insensitive #XPath matches in #PHP
<?php
$word = 'rss';
$elementLetters = \count_chars($word, 3);
$lettersLower = \mb_strtolower($elementLetters);
$lettersUpper = \mb_strtoupper($elementLetters);
$query = \sprintf(
'/*[translate(name(), \'%s\', \'%s\') = \'%s\']',
$lettersUpper,
$lettersLower,
$word
);
# /*[translate(name(), 'RS', 'rs') = 'rss'
$results = $domxpath->query($query);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment