Skip to content

Instantly share code, notes, and snippets.

@damusnet
Forked from marcgg/gist:733592
Created August 11, 2012 10:28
Show Gist options
  • Select an option

  • Save damusnet/3323622 to your computer and use it in GitHub Desktop.

Select an option

Save damusnet/3323622 to your computer and use it in GitHub Desktop.

Revisions

  1. damusnet revised this gist Aug 11, 2012. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions gistfile1.php
    Original file line number Diff line number Diff line change
    @@ -28,8 +28,8 @@
    . '(?:facebook.com/)?'
    . '(?:(?:\w)*\#!/)?'
    . '(?:pages/)?'
    . '(?:[?\p{L}\-]*/)?'
    . '(?:[?\w\-]*/)?'
    . '(?:[?\p{L}\-_]*/)?'
    . '(?:[?\w\-_]*/)?'
    . '(?:profile.php\?id=(?=\d.*))?'
    . '([\d\-]*)?'
    . '(?:\?.*)?'
  2. damusnet revised this gist Aug 11, 2012. 1 changed file with 13 additions and 13 deletions.
    26 changes: 13 additions & 13 deletions gistfile1.php
    Original file line number Diff line number Diff line change
    @@ -1,20 +1,20 @@
    <?php
    $tests = array(
    'http://www.facebook.com/page_id' => 'page_id',
    'https://www.facebook.com/page_id' => 'page_id',
    'http://www.facebook.com/#!/page_id' => 'page_id',
    'http://www.facebook.com/page_id' => 'page_id',
    'https://www.facebook.com/page_id' => 'page_id',
    'http://www.facebook.com/#!/page_id' => 'page_id',
    'http://www.facebook.com/pages/Parisé-France/Vanity-Url/123456?v=app_555' => '123456',
    'http://www.facebook.com/pages/Vanity-Url/45678' => '45678',
    'http://www.facebook.com/#!/page_with_1_number' => 'page_with_1_number',
    'http://www.facebook.com/bounce_page#!/pages/Vanity-Url/45678' => '45678',
    'http://www.facebook.com/pages/Vanity-Url/45678' => '45678',
    'http://www.facebook.com/#!/page_with_1_number' => 'page_with_1_number',
    'http://www.facebook.com/bounce_page#!/pages/Vanity-Url/45678' => '45678',
    'http://www.facebook.com/bounce_page#!/my_page_id?v=app_166292090072334' => 'my_page_id',
    'http://www.facebook.com/pages/some-café-or-èàù-url/123456' => '123456',
    'http://www.facebook.com/some-vanity-url/123456' => '123456',
    'http://www.facebook.com/some.page.9' => 'some.page.9',
    'http://www.facebook.com/a_page_with_id/123456789?ref=hl' => '123456789',
    'vanityurl/123456789?ref=hl' => '123456789',
    'pages/really-long-vanity-url-page/123456789?ref=hl' => '123456789',
    'http://www.facebook.com/profile.php?id=123456789' => '123456789'
    'http://www.facebook.com/pages/some-café-or-èàù-url/123456' => '123456',
    'http://www.facebook.com/some-vanity-url/123456' => '123456',
    'http://www.facebook.com/some.page.9' => 'some.page.9',
    'http://www.facebook.com/a_page_with_id/123456789?ref=hl' => '123456789',
    'vanityurl/123456789?ref=hl' => '123456789',
    'pages/really-long-vanity-url-page/123456789?ref=hl' => '123456789',
    'http://www.facebook.com/profile.php?id=123456789' => '123456789'
    );
    echo '<table>';
    foreach ($tests as $url => $result) {
  3. damusnet revised this gist Aug 11, 2012. 2 changed files with 43 additions and 10 deletions.
    43 changes: 43 additions & 0 deletions gistfile1.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,43 @@
    <?php
    $tests = array(
    'http://www.facebook.com/page_id' => 'page_id',
    'https://www.facebook.com/page_id' => 'page_id',
    'http://www.facebook.com/#!/page_id' => 'page_id',
    'http://www.facebook.com/pages/Parisé-France/Vanity-Url/123456?v=app_555' => '123456',
    'http://www.facebook.com/pages/Vanity-Url/45678' => '45678',
    'http://www.facebook.com/#!/page_with_1_number' => 'page_with_1_number',
    'http://www.facebook.com/bounce_page#!/pages/Vanity-Url/45678' => '45678',
    'http://www.facebook.com/bounce_page#!/my_page_id?v=app_166292090072334' => 'my_page_id',
    'http://www.facebook.com/pages/some-café-or-èàù-url/123456' => '123456',
    'http://www.facebook.com/some-vanity-url/123456' => '123456',
    'http://www.facebook.com/some.page.9' => 'some.page.9',
    'http://www.facebook.com/a_page_with_id/123456789?ref=hl' => '123456789',
    'vanityurl/123456789?ref=hl' => '123456789',
    'pages/really-long-vanity-url-page/123456789?ref=hl' => '123456789',
    'http://www.facebook.com/profile.php?id=123456789' => '123456789'
    );
    echo '<table>';
    foreach ($tests as $url => $result) {
    echo '<tr><td>';
    echo $url;
    echo '</td><td>';
    echo preg_replace(
    '#'
    . '(?:https?://)?'
    . '(?:www.)?'
    . '(?:facebook.com/)?'
    . '(?:(?:\w)*\#!/)?'
    . '(?:pages/)?'
    . '(?:[?\p{L}\-]*/)?'
    . '(?:[?\w\-]*/)?'
    . '(?:profile.php\?id=(?=\d.*))?'
    . '([\d\-]*)?'
    . '(?:\?.*)?'
    . '#u',
    '$1',
    $url
    );
    echo '</td></tr>';
    }
    echo '</table>';
    ?>
    10 changes: 0 additions & 10 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -1,10 +0,0 @@
    # Matches patterns such as:
    # http://www.facebook.com/my_page_id => my_page_id
    # http://www.facebook.com/#!/my_page_id => my_page_id
    # http://www.facebook.com/pages/Paris-France/Vanity-Url/123456?v=app_555 => 45678
    # http://www.facebook.com/pages/Vanity-Url/45678 => 45678
    # http://www.facebook.com/#!/page_with_1_number => page_with_1_number
    # http://www.facebook.com/bounce_page#!/pages/Vanity-Url/45678 => 45678
    # http://www.facebook.com/bounce_page#!/my_page_id?v=app_166292090072334 => my_page_id

    /(?:http:\/\/)?(?:www\.)?facebook\.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[\w\-]*\/)*([\w\-]*)/
  4. @marcgg marcgg revised this gist Jul 17, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -7,4 +7,4 @@
    # http://www.facebook.com/bounce_page#!/pages/Vanity-Url/45678 => 45678
    # http://www.facebook.com/bounce_page#!/my_page_id?v=app_166292090072334 => my_page_id

    /(?:http:\/\/)?(?:www.)?facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[\w\-]*\/)*([\w\-]*)/
    /(?:http:\/\/)?(?:www\.)?facebook\.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[\w\-]*\/)*([\w\-]*)/
  5. @marcgg marcgg created this gist Dec 8, 2010.
    10 changes: 10 additions & 0 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    # Matches patterns such as:
    # http://www.facebook.com/my_page_id => my_page_id
    # http://www.facebook.com/#!/my_page_id => my_page_id
    # http://www.facebook.com/pages/Paris-France/Vanity-Url/123456?v=app_555 => 45678
    # http://www.facebook.com/pages/Vanity-Url/45678 => 45678
    # http://www.facebook.com/#!/page_with_1_number => page_with_1_number
    # http://www.facebook.com/bounce_page#!/pages/Vanity-Url/45678 => 45678
    # http://www.facebook.com/bounce_page#!/my_page_id?v=app_166292090072334 => my_page_id

    /(?:http:\/\/)?(?:www.)?facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[\w\-]*\/)*([\w\-]*)/