[php] regexp łamanie długich słów, ale nie adresów

0

Witam! Mam taki mały problemik z rozjezdzającym się layoutem i walczę z regexpem który wstawiałby spacje w długim słowie (po 40 znakach np).

najprostsze ktory mam to:

$tekst = preg_replace("/([^\s>]{40})/","$1 ",$tekst)

jest z tym tylko taki problem ze psuje to wszystkie linki dluzsze od x znakow. znalazlem tez piekne wyrazenie ktore wynajduje urle zapisane w href="url".

"/<a\s[^>]href="(["])"[</sup>>]>(.)</a>/siU"

teraz nie bardzo wiem jak mu powiedziec zeby łamał wszystko powyzej 40stu znakow, oprocz wlasnie urlów wewnątrz tagu, w "".

Z góry dzięki za pomoc
jasiek

0

Sorry, za śmiecenie, ale może komuś się to przyda:

$tekst = preg_replace("/(?!([<]+)?>)([\s]{50})/","$2 ",$tekst);

wstawia spację we wszystkich słowach dłuższych niż 50 znaków i znajdujących się poza znacznikami <>

pozdrawiam
jasiek

0

inne podejście: http://pl2.php.net/wordwrap

1 użytkowników online, w tym zalogowanych: 0, gości: 1