2013-03-12 3 views
0
<?=$postcontent = wordwrap($qry_post['content'], 67, "<br />", true);?> 

если содержание имеет длинную ссылку в нем, или большой код, он будет остановить его в какой-то части и
его, приведет в HTML сущности из-за новой линии/
в коде src.Перенос слов выдаст ссылку SRC и IMG SRC

любой способ исправить это? спасибо!

+0

WordWrap лучше всего подходит для только слов без HTML-разметки, его лучше удалить последний аргумент 'true' для предотвращения брокерского друга от друга больше слова ... такие как src, который является URI .. – 2013-03-12 22:18:59

+1

Если вы выводите HTML, зачем вам вообще нужно переводить слова, учитывая, что браузеры будут форматировать текст, как им нравится, и игнорировать вашу перенос слов? – Spudley

ответ

0

В комментариях для manual for wordwrap() кто-то разместил фрагмент кода, чтобы решить эту проблему:

<?php 
    function textWrap($text) { 
     $new_text = ''; 
     $text_1 = explode('>',$text); 
     $sizeof = sizeof($text_1); 
     for ($i=0; $i<$sizeof; ++$i) { 
      $text_2 = explode('<',$text_1[$i]); 
      if (!empty($text_2[0])) { 
       $new_text .= preg_replace('#([^\n\r .]{25})#i', '\\1 ', $text_2[0]); 
      } 
      if (!empty($text_2[1])) { 
       $new_text .= '<' . $text_2[1] . '>';  
      } 
     } 
     return $new_text; 
    } 
?> 
+0

спасибо, сэр. по соображениям безопасности, поэтому нельзя набирать «zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz» и испортить основной шаблон и содержимое div. я делаю это неправильно? –