Tôi có chức năng sẽ thêm thẻ <a href>
trước liên kết và </a>
sau liên kết. Tuy nhiên, nó phá vỡ cho một số trang web. Bạn sẽ cải thiện chức năng này như thế nào? Cảm ơn!PHP - Thêm liên kết vào URL trong chuỗi
function processString($s)
{
// check if there is a link
if(preg_match("/http:\/\//",$s))
{
print preg_match("/http:\/\//",$s);
$startUrl = stripos($s,"http://");
// if the link is in between text
if(stripos($s," ",$startUrl)){
$endUrl = stripos($s," ",$startUrl);
}
// if link is at the end of string
else {$endUrl = strlen($s);}
$beforeUrl = substr($s,0,$startUrl);
$url = substr($s,$startUrl,$endUrl-$startUrl);
$afterUrl = substr($s,$endUrl);
$newString = $beforeUrl."<a href=\"$url\">".$url."</a>".$afterUrl;
return $newString;
}
return $s;
}
Các regex là một chút cẩu thả, nhưng 99% số đầu vào của tôi sẽ có URL đúng nếu có – AlexBrand
gì trang web nào nó phá vỡ không? –
Lúc đầu, bạn kiểm tra lại https cũng, nhưng sau đó bạn bỏ qua "s". Không biết, nếu điều này gây ra lỗi này, bởi vì tôi cũng không biết, trang nào bị hỏng;) – KingCrunch