Facebook APIを使用して、特定のFacebookアカウントのWebページに投稿を表示しています。 Facebookのユーザーが長いURLのテキスト(つまり、< a href = "http://www.google.com"> http:// thisisreallylongandeventuallybreaksmyfrigginlayout </a>)のリンクを含むメッセージを投稿すると、レイアウトが壊れてしまいます。PHPを使用してFacebook APIからURLテキストを短縮する
public function linkify($ret) {
$ret = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#", "\\1<a href=\"\\2\">\\2</a>", $ret);
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\">\\2</a>", $ret);
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_\.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\[email protected]\\3\">\\[email protected]\\3</a>", $ret);
return $ret;
}
誰もが、それはまた、任意に切り捨てように私は機能を変更するために助けることができます:ここで
は、私は現在、FacebookのAPIからのポストを取り、HTMLリンクに任意のURLを回すために使用しているPHPの関数の長いリンクテキスト?私はメッセージ全体を切り捨てることについて話すのではなく、リンクの長いテキストだけを切り詰めることについて話しているわけではありません。
ありがとうございます!
私はwwwを切り詰めていません。モバイルレイアウトなのでレイアウトを修正できません。リンクが本当に長くなると、ページはズームアウトされ、100%ズームインされません。壊れていないので、表示しないようにしてください。私は、問題を引き起こしているURLのテキストだけ、テキストを制限したくない。私はFacebookの投稿を作成していないので、私はURLの短縮を使用することはできません。 – codeman
私はPHPコードを書いていませんでした。私は正規表現が良くない...それが私がここに投稿した理由です。 :)私はコードに感謝します。 – codeman