За последние 24 часа нас посетили 24464 программиста и 1726 роботов. Сейчас ищут 1898 программистов ...

Какой функцией можно убрать обрезанный пополам тег <br />

Тема в разделе "PHP для новичков", создана пользователем Alex84, 29 сен 2012.

  1. Alex84

    Alex84 Активный пользователь

    С нами с:
    12 фев 2012
    Сообщения:
    26
    Симпатии:
    0
    В библиотеке бывает такое, что режится пополам тег <br />. Выглядит это примерно так: страница 1. Текст<br Страница 2. />Текст, как можно убрать этот косяк?
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Re: Какой функцией можно убрать обрезанный пополам тег <br /

    Ну это вы там уже, что - то наворотили, показывайте скрипт-коды, после чего это происходит.
     
  3. Alex84

    Alex84 Активный пользователь

    С нами с:
    12 фев 2012
    Сообщения:
    26
    Симпатии:
    0
    Re: Какой функцией можно убрать обрезанный пополам тег <br /

    Из за этой функции:

    Код (Text):
    1.  
    2. <?php
    3.  
    4. // Обмен переносов на тег <br /> //
    5.  
    6. $content = nl2br($content);
    7.  
    8. ?>
    Но я попробовал устранить этот косяк по своему. Порнографическим методом:

    Код (Text):
    1.  
    2. <?php
    3. $text = '<div class="d">'.mb_substr($content, ($paget * $character) - $character, $character, "UTF-8").'</div>';
    4.  
    5.  
    6. $text = str_replace("<div class=\"d\"><br />", "<div class=\"d\">", $text);
    7. $text = str_replace("<div class=\"d\">br />", "<div class=\"d\">", $text);
    8. $text = str_replace("<div class=\"d\">r />", "<div class=\"d\">", $text);
    9. $text = str_replace("<div class=\"d\"> />", "<div class=\"d\">", $text);
    10. $text = str_replace("<div class=\"d\">/>", "<div class=\"d\">", $text);
    11. $text = str_replace("<div class=\"d\">>", "<div class=\"d\">", $text);
    12.  
    13.  
    14. $text = str_replace("<br /></div>", "</div>", $text);
    15. $text = str_replace("<br /</div>", "</div>", $text);
    16. $text = str_replace("<br </div>", "</div>", $text);
    17. $text = str_replace("<br</div>", "</div>", $text);
    18. $text = str_replace("<b</div>", "</div>", $text);
    19. $text = str_replace("<</div>", "</div>", $text);
    20. ?>
    иначе не ничего не нашёл.
     
  4. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    блин... Бред...
    Вы же смотрите, что делаете!

    И зачем так делать вообще?
    Зачем вы тулите туда перенос строки, а потом режете строку еще и с тегами...

    Код (PHP):
    1. $content=nl2br($content);
    2. mb_substr($content, ($paget * $character) - $character, $character, "UTF-8"); 
    Этим все сказано...

    Вот начудили же(

    Ваще хз, че.

    Код (PHP):
    1. $content='str1
    2. str2
    3. str3';
    4. $content=nl2br($content);
    5. $content=strip_tags($content);
    6. $content=str_replace(array("\r","\n"),'',$content);
    7. echo mb_substr($content,0,6,'utf-8'); 
    Чисто жопа верх ногами... <матное слово>.
     
  5. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Описанная проблема решится, если просто поменять последовательность действий:
    Код (PHP):
    1. $content = nl2br($content);
    2. $text = '<div class="d">'.mb_substr($content, ($paget * $character) - $character, $character, "UTF-8").'</div>'; 
    заменить на:
    Код (PHP):
    1. $content = nl2br(mb_substr($content, ($paget * $character) - $character, $character, "UTF-8"));
    2. $text = '<div class="d">'.$content.'</div>'; 
    Правда это не исключит "обрезания" по пол-слова и прочие подобные пакости.
     
  6. Alex84

    Alex84 Активный пользователь

    С нами с:
    12 фев 2012
    Сообщения:
    26
    Симпатии:
    0
    Re: Какой функцией можно убрать обрезанный пополам тег <br /

    Спасибо!!!