文字列内の既存のURLをチェックする関数が必要です。ほとんどのURLにマッチする正規表現正規表現が改善する必要があります
function linkcleaner($url) {
$regex="(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))";
if(preg_match($regex, $url, $matches)) {
echo $matches[0];
}
}
正規表現は、彼がすべてのURLにマッチする正規表現を作成する問題に対処John Gruber's blog、から取られています。 残念ながら、私はそれを動作させることはできません。問題は正規表現の中の二重引用符や式の最後にある他の句読記号から来ているようです。 何か助けていただければ幸いです。 ありがとうございました!
「それを動作させることはできません"組み込みのPHPエラーではありませんメッセージ。 –
@JackManey、roflmao –
申し訳ありませんが、エラーは "Parse error:構文エラー、予期しない"、 "C:\ ... \ config.php on line ..."です。英語は母国語ではなく、時には私が何を言いたいのかを説明するのに問題があります。 – olegb3