Tengo una función que agregará la etiqueta <a href>
antes de un enlace y </a>
después del enlace. Sin embargo, se rompe para algunas páginas web. ¿Cómo mejorarías esta función? ¡Gracias!PHP - Agregar enlace a una URL en una cadena
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;
}
La expresión regular es un poco descuidado, pero el 99% de mi entrada tendrá direcciones URL correctas en su caso – AlexBrand
Qué páginas web ¿Rompe para? –
Al principio, prueba contra https también, pero luego omite la "s". No sé, si esto causa este error, porque tampoco sé qué páginas están rotas;) – KingCrunch