PHP PHP - Cortar link / url dentro de string

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP PHP - Cortar link / url dentro de string相关的知识,希望对你有一定的参考价值。

function get_links($string) {
    $patron='/\<a href\=(.*?)\>(.*?)\<\/a\>/is';
    preg_match_all ($patron, $string,$coincidencias);
    return $coincidencias[0];
};
function get_links_text($string) {
    $patron='#[^<ref=">]http\:\/\/([^"<>]*)#is';
    preg_match_all ($patron, $string,$coincidencias);
    return $coincidencias[0];
    
};
function redlink($link,$largopartes){
    $patron='/\<a href\=(.*?)\>(.*?)\<\/a\>/i';
    preg_match_all ($patron, $link,$coincidencias);
    $s='/\<a href\=(.*?)\>(.*?)\<\/a\>/se';
    if(strlen($coincidencias[2][0])>($largopartes<<1))
        $r='"<a href=$1>".substr("$2",0,"$largopartes")."...".substr("$2","-$largopartes")."</a>"';
    else
        $r='"<a href=$1>$2</a>"';
    $t=preg_replace ($s, $r, $link);
    return $t;
}

function redlink2($link,$largopartes){
    if(strlen($link)>($largopartes<<1))
        $r='<a href="'.$link.'">'.substr($link,0,$largopartes).'...'.substr($link,-$largopartes).'</a>';
    else
        $r='<a href="'.$link.'">'.$link.'</a>';
        return $r;
}

$cadena='
um fringilla commodo, magna metus tempus justo, quis eleifend enim ante vel nisl. Nam tellus ligula, semper eu, pretium et, placerat sit amet, justo. Phasellus sagittis faucibus orci. Phasellus ultricies scelerisque nulla. Quisque metus. Aliquam leo dolor, pellentesque eu, cursus sollicitudin, porta a, velit.
hola http://www.akjhas.dasa/asdasda/asasa/asasa/asasasas/asas.pl <br><a href="http://www.google.com.ar">Este es un magnífico buscador y en él hay de todo</a>
 Nunc pulvinar. In porta nisl vitae magna. Nunc justo libero, feugiat at, dignissim sed, interdum eleifend, est. In ornare pellentesque odio. Ut mauris. Donec ornare vestibulum urna. Vestibulum et massa. Integer viverra, nisl ac congue elementum, nisi felis dignissim sapien, et adipiscing nisl urna a ligula. In mattis imperdiet dui. Fusce tincidunt mauris sed massa. Aenean at nisl. Sed enim ante, aliquam non, sagittis non, consequat et, dui. Aliquam faucibus adipiscing lacus. Praesent sem velit, scelerisque sit am
';
$links=get_links($cadena);
$urls=get_links_text($cadena);
foreach($links as $v){
    $replace[]=redlink($v,15);
}
foreach($urls as $v){
    $replace[]=redlink2($v,15);
}
$search=array_merge($links,$urls);

echo str_replace($search,$replace,$cadena);

以上是关于PHP PHP - Cortar link / url dentro de string的主要内容,如果未能解决你的问题,请参考以下文章

PHP Php cortar string respetando palabras beta 0.2

php WP-画廊 - 定制links.php

foreach中的php foreach

php 转换电子邮件em电子邮件com link.php

使用Docker link快速搭建PHP开发环境

Mysql读写分离php脚本