ホームページ  >  記事  >  バックエンド開発  >  php文字列が短縮されました

php文字列が短縮されました

WBOY
WBOYオリジナル
2016-06-23 14:00:161559ブラウズ

要件

$str='topics/new?forum_id=PHP';

echo shortUrl($str) // 出力: js4d8x5d

echo unShortUrl('js4d8x5d') // 文字列の出力: topic/new? =PHP


shortUrl 関数と unShortUrl 関数を探しています


ディスカッションに返信 (解決策)

コーディング規則が指定されていないのですが、どうやってプログラムを書けばいいですか?

短いリンクですか?
ハッシュ関数+ハッシュ競合解決

Sinaの短縮URLは、URLとサーバーに保存されているID番号の対応関係のようです。

短いリンクを勉強したことがありませんか?
ハッシュ関数+ハッシュ競合解決

Sinaの短縮URLは、URLとサーバーに保存されているID番号の対応関係のようです。まだ勉強してないです
うーん、短い接続、対応するストレージが面倒すぎる〜、そしてハッシュ型のphpシステム関数が多すぎるのですが、それらはすべて一方向です。私の理想は crc32 関数の 8 ビットの結果ですが、crc32 を元に戻すことはできません。

そこで質問です


計算だけだと圧縮スペースが限られます

元の文字列に漢字が含まれていないと仮定すると、96進法で表現できます 0000000 - 1011111

ただし、1/でしか圧縮できません8

したがって、短縮URLはテーブルルックアップ方式で実装され、テーブル項目インデックスのみが提供されます

計算のみの場合、圧縮スペースは限られます

元の文字列に中国語が含まれていないと仮定すると、それを表現できます16 進数で 96 0000000 - 1011111

ただし、1/8 までしか圧縮できません

したがって、短い URL はテーブル検索メソッドを使用して実装され、テーブル項目のインデックスのみが提供されます
ああ〜、これの URL を知りたいですウェブサイト http://hangzhou.8684.cn/z_d7bc763d

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。