Search

Rss Posts

Rss Comments

Login

 

Leave first image in text and cat length(howto)

Oct 28

This simple script makes good things!
1) leave first img tag
2) remove all another img tags
3) cut text by length
So you get simple text short text with one image on it.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
function cut_text($x) {
    $alli = catch_that_image($x);
    if ($alli) {
        $x= substr($x, 0, $alli[2]+$alli[3]).
        substr(strip_only($x, '<img>'), $alli[2]);
    }
 
    if(strlen($x) > 700) {
        $x = substr($x, 0, 700);
        $y = strrpos($x, '>');
 
        $x = substr($x, 0, $y). '>...';
    }
    return $x;
}
 
function catch_that_image($x) {
  $first_img = '';
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $x, $matches);
  @$first_img = $matches [1][0];
 
  $imglen = strlen($matches [0][0]);
 
  if (strlen($matches [1][0]) AND $imglen){
      $imgpos = stripos($x, $matches [0][0]);
      $tx = substr($x, 0, $imgpos).substr($x, $imgpos+$imglen); //Vsio krome<img>
  }else{
    $tx = false;
  }
  return array($tx,$matches [0][0], $imgpos, $imglen );
}
 
function strip_only($str, $tags) {
    if(!is_array($tags)) {
        $tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags));
        if(end($tags) == '') array_pop($tags);
    }
    foreach($tags as $tag) $str = preg_replace('#</?'.$tag.'[^>]*>#is', '', $str);
    return $str;
}
 
 
echo cut_text('<div class="content" style="min-height: 202px;">
<img width="200" height="200" alt="Post Pic" src="http://www.wprecipes.com/wp-content/uploads/2009/02/php2.jpg"/>
<div class="pic fl">
<img width="200" height="200" alt="Post Pic" src="http://www.wprecipes.com/wp-content/uploads/2009/02/php2.jpg"/>
</div>
<div class="post-title">
</div>
<img width="200" height="200" alt="Post Pic" src="http://www.wprecipes.com/wp-content/uploads/2009/02/php2.jpg"/>
<div class="post-excerpt">');

Post a comment

 
Get Adobe Flash playerPlugin by wpburn.com wordpress themes
34 queries. 0.316 seconds.