Home >Backend Development >PHP Tutorial >I would like to ask if the link conversion is not written in the IMG tag?
<code>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 = '/<a[^<]+><img\s[^>]*'.$pattern_image_url.'.*?>?<[^>]+a>/i'; $preg = preg_match($pattern, $content, $matches); if ($preg) { if ( $this->save_outside_links == 'yes' ) { if ( preg_match('/<a[^>]*href=\"(.*?)\".*?>/i', $matches[0], $match) ) { $link = $match[1]; $description = '<a href="'.$link.'" target="_blank" rel="nofollow">'.__('Original Link', 'qqworld_auto_save_images').'</a>'; $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 = '/<img\s[^>]*'.$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 = '<img class="'.$align.'size-'.$size.' wp-image-'.$attachment_id.'" src="'.$src.'" width="'.$width.'" height="'.$height.'"'.$alt.$title.' />'; $link_to = $this->keep_outside_links=='no' ? $this->format['link-to'] : 'none'; switch ($link_to) { case 'none': $replace = $img; break; case 'file': $replace = '<a href="'.$res['url'].'">'.$img.'</a>'; break; case 'post': $replace = '<a href="'.get_permalink($attachment_id).'">'.$img.'</a>'; 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 = '/<a[^<]+><img\s[^>]*'.$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; }</code>
The above is the code of a plug-in, which contains link conversion.
I want to prevent it from converting the original image link. Please tell me how to modify it. Don't know PHP very well. Please give me some advice, seniors. Thank you
<code>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 = '/<a[^<]+><img\s[^>]*'.$pattern_image_url.'.*?>?<[^>]+a>/i'; $preg = preg_match($pattern, $content, $matches); if ($preg) { if ( $this->save_outside_links == 'yes' ) { if ( preg_match('/<a[^>]*href=\"(.*?)\".*?>/i', $matches[0], $match) ) { $link = $match[1]; $description = '<a href="'.$link.'" target="_blank" rel="nofollow">'.__('Original Link', 'qqworld_auto_save_images').'</a>'; $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 = '/<img\s[^>]*'.$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 = '<img class="'.$align.'size-'.$size.' wp-image-'.$attachment_id.'" src="'.$src.'" width="'.$width.'" height="'.$height.'"'.$alt.$title.' />'; $link_to = $this->keep_outside_links=='no' ? $this->format['link-to'] : 'none'; switch ($link_to) { case 'none': $replace = $img; break; case 'file': $replace = '<a href="'.$res['url'].'">'.$img.'</a>'; break; case 'post': $replace = '<a href="'.get_permalink($attachment_id).'">'.$img.'</a>'; 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 = '/<a[^<]+><img\s[^>]*'.$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; }</code>
The above is the code of a plug-in, which contains link conversion.
I want to prevent it from converting the original image link. Please tell me how to modify it. Don't know PHP very well. Please give me some advice, seniors. Thank you