PHP code for link with text

时间:2011-07-10 作者:Jeremy

我在探索时偶然发现了这篇帖子:https://wordpress.stackexchange.com/questions/22423/grab-first-link-from-a-post-grab-first-blockquote

我基本上想做同样的事情,但让它不仅调用URL,而且调用链接,因为我将链接用作摘录标题。

例如如果我的链接是<a href="http://www.facebook.com/>Facebook</a> 我想让它调用一个链接Facebook 不是说http://www.facebook.com 就像当前代码一样。

如果已经提供了代码,这可能很容易,但我无法理解。

3 个回复
SO网友:Milo

也许可以尝试使用phpDOMDocument 而不是regex。我不认为所有DOMDocument方法都只能处理一个html片段,而不能处理一个完整的文档,但对于您的需要,这可能就足够了:

<?php
$dom= new DOMDocument();
$html = \'<p>Some html with a <a href="http://foo.com/">link</a>. Some more text and <a href="http://bar.com/">another</a> link.</p>\';
$dom->loadHTML( $html );
$dom->preserveWhiteSpace = false;
$elements = $dom->getElementsByTagName( \'a\' );
foreach ( $elements as $element ){
    echo "link text: " . $element->nodeValue . "<br>";
    echo "href value: " . $element->getAttribute( \'href\' ) . "<br><br>";
}

// outputs:
//
// link text: link
// href value: http://foo.com/
//
// link text: another
// href value: http://bar.com/

SO网友:Lucas

实际上我也在尝试这样做。

下面的代码调用该链接,但不像您所要求的那样(包含链接的实际文本)。如果你知道了,请把它贴出来,让我们知道,我真的可以用它!

function get_content_link( $content = false, $echo = false )
{
    // allows using this function also for excerpts
    if ( $content === false )
        $content = get_the_content(); // You could also use $GLOBALS[\'post\']->post_content;

    $content = preg_match_all( \'/href\\s*=\\s*[\\"\\\']([^\\"\\\']+)/\', $content, $links );
    $content = $links[1][0];
    $content = make_clickable( $content );

    // if you set the 2nd arg to true, you\'ll echo the output, else just return for later usage
    if ( $echo === true )
        echo $content;

    return $content;
}

SO网友:getglad

您可以构建这样的函数。

$partnersite = \'<a href="http://www.facebook.com/">Facebook</a>\';
$partnersite = explode(\'>\', $partnersite);
$partnersite = explode(\'<\', $partnersite[1]);
echo $partnersite[0];

结束

相关推荐

帮助组合这两个PHP代码

我有我的WordPress帖子格式代码:<?php if ( has_post_format( \'image\' )) { echo \'This is a image post\'; } ?> 我的代码是从帖子中抓取第一张图片。。。<a href=\"<?php the_permalink() ?>\"> <?php $image = catch_that_image(); if( $image ) { ?