X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите с PHP
denis_h2
denis_h2
Topic Starter сообщение 13.12.2011, 14:55; Ответить: denis_h2
Сообщение #1


Бывалый
****

Группа: User
Сообщений: 419
Регистрация: 16.3.2011
Поблагодарили: 40 раз
Репутация:   15  


Здравствуйте, подскажите пожалуйста как поделить текст на две части, на превью и полную новость.

Превью содержит 5 <br>.

Я нашел плагин для WP но не могу разобраться в нём :
Развернуть/Свернуть
function auto_more($posts) {

if (is_admin() || is_single() || is_page() || is_feed()) return $posts;

$offset = 256;

$breakpoints = array ("<p" => 0, "</p>" => 4, "<br" => 0, "\x0D\x0A\x0D\x0A" => 0, "\x0A\x0A" => 0,
      "<table" => 0, "</table" => 8, "<ul" => 0, "</ul>" => 5, "<h" => 0 , "</h" => 5 );

for ($i=0;$i<count($posts);$i++) {
    if ($posts[$i]->post_excerpt) {
        $posts[$i]->post_content = $posts[$i]->post_excerpt."\n<!--more-->";
    }
    elseif ((strpos($posts[$i]->post_content, '<!--more') === false)
     and (strpos($posts[$i]->post_content, '<!--nomore') === false))  {

          $p = mb_strlen($posts[$i]->post_content,"UTF-8");
          if ($p > $offset) {
              foreach ($breakpoints as $brp => $o2) {
                if ($p1 = mb_strpos(mb_strtolower($posts[$i]->post_content,"UTF-8"),$brp,$offset,"UTF-8")) {
                    if ($p > $p1 + $o2) $p = $p1 + $o2;
                }
            }
            if ($p < mb_strlen($posts[$i]->post_content,"UTF-8")) {
                $posts[$i]->post_content = force_balance_tags(mb_substr($posts[$i]->post_content,0,$p,"UTF-8"))."\n<!--more-->";
                }
         }    
         }
  }
  return $posts;
}

add_filter('the_posts', 'auto_more', 1);?>

И ещё одно, использую вот такую функцию для замены русских букв на латинские, а как заменить все знаки припинания ?

Развернуть/Свернуть
function ru2Lat($string)
{
$rus = array('ё','ж','ц','ч','ш','щ','ю','я','Ё','Ж','Ц','Ч','Ш','Щ','Ю','Я',' ';
$lat = array('yo','zh','tc','ch','sh','sh','yu','ya','YO','ZH','TC','CH','SH','SH','YU','YA','-');
$string = str_replace($rus,$lat,$string);
$string = strtr($string,
   "АБВГДЕЗИЙКЛМНОПРСТУФХЪЫЬЭабвгдезийклмн
опрстуфхъыьэ",
   "ABVGDEZIJKLMNOPRSTUFH_I_Eabvgdezijklmnoprstufh_i_e");

return($string);
}
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
AHTOXA
AHTOXA
сообщение 13.12.2011, 15:04; Ответить: AHTOXA
Сообщение #2


Завсегдатай
*****

Группа: Active User
Сообщений: 517
Регистрация: 26.5.2008
Из: Нижний
Поблагодарили: 123 раза
Репутация:   21  


1. для этого в WP есть тег more
2. $rus - сюда вписываете то что надо заменить
$lat - сюда на что надо заменить
$rus = array('ё','ж','ц','ч','ш','щ','ю','я','Ё','Ж','Ц','Ч','Ш','Щ','Ю','Я',' ';

перед ; должна быть )


--------------------
тут Я
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
denis_h2
denis_h2
Topic Starter сообщение 13.12.2011, 15:09; Ответить: denis_h2
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 419
Регистрация: 16.3.2011
Поблагодарили: 40 раз
Репутация:   15  


AHTOXA,
1) мне надо для dle, разделить на две части
2) знаков препинания достаточно много, я же спрашиваю решение как заменить все ! Мож есть какая нибудь функция как в регулярных выражениях ?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
AHTOXA
AHTOXA
сообщение 13.12.2011, 15:18; Ответить: AHTOXA
Сообщение #4


Завсегдатай
*****

Группа: Active User
Сообщений: 517
Регистрация: 26.5.2008
Из: Нижний
Поблагодарили: 123 раза
Репутация:   21  


1. Сделайте по аналогии
2. знаков препинания не так много, займет 3 минуты чтобы вписать их в функцию

Сообщение отредактировал AHTOXA - 13.12.2011, 15:18


--------------------
тут Я


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 645 Вчера, 21:01
автор: vlads
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3380 12.12.2017, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) Помогите выбрать программу
Помогите выбрать программу
11 impak 1334 11.12.2017, 13:11
автор: Mikki
Открытая тема (нет новых ответов) php скрипты любой сложности / диз+верстка (адаптивно)
любые задачи на php - автоматизация, парсинг, работа с БД
1 affrodita 496 8.12.2017, 17:40
автор: affrodita
Открытая тема (нет новых ответов) Помогите найти плагин на WP
Отзывы с профилей соц сетей
1 SEOMR 438 30.11.2017, 7:18
автор: Nell


 



RSS Текстовая версия Сейчас: 14.12.2017, 4:49
Дизайн