3v4l.org

run code in 300+ PHP versions simultaneously
<?php $regex = "#\b(?:(?:[[:alpha:]]+\://)|www\.)(?:(?:[-[:alnum:]]+\.)*[-[:alnum:]]+(?::\d+)?)(?:/(?:[[:alnum:]\-\._~\!\$&'\(\)\*\+,;\=\:@/]|(?:%[[:xdigit:]]{2}))*)?(?:\?(?:[[:alnum:]\-\._~\!\$&'\(\)\*\+,;\=\:@/\?]|(?:%[[:xdigit:]]{2}))*)?(?:\#(?:[[:alnum:]\-\._~\!\$&'\(\)\*\+,;\=\:@/\?]|(?:%[[:xdigit:]]{2}))*)?#m"; $unicodeRegex = "#\b(?:(?:[[:alpha:]]+\://)|www\.)(?:(?:[-[:alnum:]]+\.)*[-[:alnum:]]+(?::\d+)?)(?:/(?:[[:alnum:]\-\._~\!\$&'\(\)\*\+,;\=\:@/]|(?:%[[:xdigit:]]{2}))*)?(?:\?(?:[[:alnum:]\-\._~\!\$&'\(\)\*\+,;\=\:@/\?]|(?:%[[:xdigit:]]{2}))*)?(?:\#(?:[[:alnum:]\-\._~\!\$&'\(\)\*\+,;\=\:@/\?]|(?:%[[:xdigit:]]{2}))*)?#um"; $source = '取りhttp://foo.com/somepathによると'; preg_match_all($regex, $source, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE); var_dump($matches[0][0][0]); preg_match_all($unicodeRegex, $source, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE); var_dump($matches[0][0][0]); var_dump(PCRE_VERSION);

preferences:
53.31 ms | 402 KiB | 5 Q