0
ウェブサイトのページに表示するには、テキストを確認する必要があります。私は同じウェブサイト(他のウェブサイト以外のURLの)のすべてのURLリンクをリンクに変換する必要があります。私は、タグ<a>
でそれらすべてを関与させる必要があります。問題はプロパティーhref
で、正しいURLをその内部に入れる必要があることです。私はすべてのテキストを検証しようとしています。もし私がURLを見つけたら、部分文字列 "http://"が含まれているかどうかを確認する必要があります。そうでなければ、hrefプロパティに入れなければなりません。私はいくつかの試みましたが、すべての彼らの:(まだ働いていない任意のアイデアは、私はこれを行うことができますどのようにhrefプロパティチェックURLを変更するには
My機能は以下の通りです:。?
$string = "This is a url from my website: http://www.mysite.com.br and I have a article interesting there, the link is http://www.mysite.com.br/articles/what-is-psychology/205967. I need that the secure url link works too https://www.mysite.com.br/articles/what-is-psychology/205967. the following urls must be valid too: www.mysite.com.br and mysite.com.br";
function urlMySite($string){
$verifyUrl = '';
$urls = array("mysite.com.br");
$text = explode(" ", $string);
$alltext = "";
for($i = 0; $i < count($texto); $i++){
foreach ($urls as $value){
$pos = strpos($text[$i], $value);
if (!($pos === false)){
$verifyUrl = " <a href='".$text[$i]."' target='_blank'>".$text[$i]."</a> ";
if (strpos($verifyUrl, 'http://') !== true) {
$verifyUrl = " <a href='http://".$text[$i]."' target='_blank'>".$text[$i]."</a> ";
}
$alltext .= $verifyUrl;
} else {
$alltext .= " ".$text[$i]." ";
}
}
}
return $alltext;
}
あなたはすべての回出てくる見つけることPREG_MATCH_ALLを使用する必要があります
こんにちはCagy79、preg_match_allはよく似ています。しかし、最後の2つの出来事は捕まえられません。この場合、プロトコルをオプションにすることはできますか? – DiChrist
https://regex101.com/を使用してパターンを再生し、パターンに合っているかどうかを確認できます。あなたが必要とするパターンについては、SOに関するその他の質問をチェックすることができます。例:http://stackoverflow.com/questions/1141848/regex-to-match-url – Cagy79
答えが欲しい場合は、それを受け入れてください。ありがとう。 – Cagy79