时间:2021-07-01 10:21:17 帮助过:8人阅读
public function format($image_url, $res, $content) {
$no_match = false;
$attachment_id = $res['id'];
$url_path = str_replace(basename($res['file']), '', $res['url']);
$size = isset($res['sizes'][$this->format['size']]) ? $this->format['size'] : 'full';
if ($size == 'full') {
$src = $res['url'];
$width = $res['width'];
$height = $res['height'];
} else {
$src = $url_path . $res['sizes'][$size]['file'];
$width = $res['sizes'][$size]['width'];
$height = $res['sizes'][$size]['height'];
}
$pattern_image_url = $this->encode_pattern($image_url);
$preg = false;
if ($this->keep_outside_links=='no') {
$pattern = '/]*'.$pattern_image_url.'.*?>?<[^>]+a>/i';
$preg = preg_match($pattern, $content, $matches);
if ($preg) {
if ( $this->save_outside_links == 'yes' ) {
if ( preg_match('/]*href=\"(.*?)\".*?>/i', $matches[0], $match) ) {
$link = $match[1];
$description = ''.__('Original Link', 'qqworld_auto_save_images').'';
$description = apply_filters('qqworld-auto-save-images-save-outsite-link', $description, $link);
$args = array(
'ID' => $attachment_id,
'post_content' => $description
);
wp_update_post($args);
}
}
$args = $this->set_img_metadata($matches[0], $attachment_id);
}
}
if (!$preg) {
$pattern = '/]*'.$pattern_image_url.'.*?>/i';
if ( preg_match($pattern, $content, $matches) ) {
$args = $this->set_img_metadata($matches[0], $attachment_id);
} else {
$pattern = '/'.$pattern_image_url.'/i';
$no_match = true;
}
}
$alt = isset($args['alt']) ? ' alt="'.$args['alt'].'"' : '';
$title = isset($args['title']) ? ' title="'.$args['title'].'"' : '';
$align = $this->auto_caption == 'yes' ? '' : 'align'.$this->format_align_to.' ';
$img = '';
$link_to = $this->keep_outside_links=='no' ? $this->format['link-to'] : 'none';
switch ($link_to) {
case 'none':
$replace = $img; break;
case 'file':
$replace = ''.$img.'';
break;
case 'post':
$replace = ''.$img.'';
break;
}
if ($no_match) $replace = $res['url'];
else if ($this->auto_caption == 'yes') $replace = '[caption id="attachment_'.$attachment_id.'" align="align'.$this->format_align_to.'" width="'.$width.'"]' . $replace . ' ' . (isset($args['alt']) ? $args['alt'] : '') . '[/caption]';
$replace .= str_replace( '[Attachment ID]', $res['id'], $this->additional_content['after'] );
if ( $this->keep_outside_links=='yes' ) {
$patt = '/]*'.$pattern_image_url.'.*?>?<[^>]+a>/i';
if ( preg_match($patt, $content, $match) ) {
$string = $match[0];
$pos = strpos($string, '>');
$string = substr_replace($string, ' rel="nofollow">', $pos, 1);
$content = preg_replace($patt, $string, $content);
}
}
$content = preg_replace($pattern, $replace, $content);
return $content;
}
以上是一个插件的代码,里面写了链接转换。
我想阻止它将原本的图片链接转换。请问应该怎么修改。不是很懂PHP。请教下各位前辈 谢谢
public function format($image_url, $res, $content) {
$no_match = false;
$attachment_id = $res['id'];
$url_path = str_replace(basename($res['file']), '', $res['url']);
$size = isset($res['sizes'][$this->format['size']]) ? $this->format['size'] : 'full';
if ($size == 'full') {
$src = $res['url'];
$width = $res['width'];
$height = $res['height'];
} else {
$src = $url_path . $res['sizes'][$size]['file'];
$width = $res['sizes'][$size]['width'];
$height = $res['sizes'][$size]['height'];
}
$pattern_image_url = $this->encode_pattern($image_url);
$preg = false;
if ($this->keep_outside_links=='no') {
$pattern = '/]*'.$pattern_image_url.'.*?>?<[^>]+a>/i';
$preg = preg_match($pattern, $content, $matches);
if ($preg) {
if ( $this->save_outside_links == 'yes' ) {
if ( preg_match('/]*href=\"(.*?)\".*?>/i', $matches[0], $match) ) {
$link = $match[1];
$description = ''.__('Original Link', 'qqworld_auto_save_images').'';
$description = apply_filters('qqworld-auto-save-images-save-outsite-link', $description, $link);
$args = array(
'ID' => $attachment_id,
'post_content' => $description
);
wp_update_post($args);
}
}
$args = $this->set_img_metadata($matches[0], $attachment_id);
}
}
if (!$preg) {
$pattern = '/]*'.$pattern_image_url.'.*?>/i';
if ( preg_match($pattern, $content, $matches) ) {
$args = $this->set_img_metadata($matches[0], $attachment_id);
} else {
$pattern = '/'.$pattern_image_url.'/i';
$no_match = true;
}
}
$alt = isset($args['alt']) ? ' alt="'.$args['alt'].'"' : '';
$title = isset($args['title']) ? ' title="'.$args['title'].'"' : '';
$align = $this->auto_caption == 'yes' ? '' : 'align'.$this->format_align_to.' ';
$img = '';
$link_to = $this->keep_outside_links=='no' ? $this->format['link-to'] : 'none';
switch ($link_to) {
case 'none':
$replace = $img; break;
case 'file':
$replace = ''.$img.'';
break;
case 'post':
$replace = ''.$img.'';
break;
}
if ($no_match) $replace = $res['url'];
else if ($this->auto_caption == 'yes') $replace = '[caption id="attachment_'.$attachment_id.'" align="align'.$this->format_align_to.'" width="'.$width.'"]' . $replace . ' ' . (isset($args['alt']) ? $args['alt'] : '') . '[/caption]';
$replace .= str_replace( '[Attachment ID]', $res['id'], $this->additional_content['after'] );
if ( $this->keep_outside_links=='yes' ) {
$patt = '/]*'.$pattern_image_url.'.*?>?<[^>]+a>/i';
if ( preg_match($patt, $content, $match) ) {
$string = $match[0];
$pos = strpos($string, '>');
$string = substr_replace($string, ' rel="nofollow">', $pos, 1);
$content = preg_replace($patt, $string, $content);
}
}
$content = preg_replace($pattern, $replace, $content);
return $content;
}
以上是一个插件的代码,里面写了链接转换。
我想阻止它将原本的图片链接转换。请问应该怎么修改。不是很懂PHP。请教下各位前辈 谢谢