我正在为更改属性构建插件wordpress一些关于帖子内容的链接。我有这样的功能:
.overlay
该功能正常,链接的属性public static function encrypt_link_content( $content ){
if ( strpos( $content, 'safelinkThis' ) !== false ) {
// get dom from string of content
$content = str_get_dom($content);
// find link with attribute data-role=safelinkThis
$all_links = $content('a[data-role=safelinkThis]');
$count_links = count($all_links);
$i = 0;
$_links = self::get_links_post($count_links);
foreach ($all_links as $a) {
$href = $a->href;
$encrypt = self::zi_encrypt($href);
$a->href = $_links[$i]."?link=".$encrypt;
$i += 1;
}
$content = (string) $content;
}
return $content;
}
已更改。
内容示例:
href
将改为这样:
Find us on :
<a href="http://facebook.com" data-role="safelinkThis">Go to facebook</a>
<a href="http://google.com" data-role="safelinkThis">Go to google</a>
<a href="http://twitter.com">Go to Twitter</a>
我使用Find us on :
<a href="http://asite.com/page?link=url_encrypted" data-role="safelinkThis">Go to facebook</a>
<a href="http://asite.com/page?link=url_encrypted" data-role="safelinkThis">Go to google</a>
<a href="http://twitter.com">Go to Twitter</a>
库来查找字符串中的dom。
立即
我有一个用于商店域异常的自定义表,名称为http://code.google.com/p/ganon/
。如果链接具有来自wp_sf_domain
的域异常的href属性,我将不会更改链接。
我知道,我可以使用这个
wp_sf_domain
但我认为如果我有很多关于内容的链接,这是一个不好的做法,我应该逐个检查数据库。 如何在数据库中将内容链接主机与列表域进行比较,如果链接主机不包含在数据库中,如何更改链接属性href?