PDA

Просмотр полной версии : Разбиение на строки


Ru}{eeZ
31.03.2009, 22:30
Текст, переданный пользователем нужно отображать в таблице шириной 500px, можно конечно делить wordwrap(), но проблема заключается в том, что адреса преобразуются в ссылки и html код будет разрезан и в него будет вставлено <br />, если подумать, то можно сначала нарезать, потом ссылки преобразовать, но ссылки ведь тоже будут разрезаны. Можно проверять при нарезании "не начинается ли резуемое слово с http:// или www?" или что-то в этом роде... В общем, кто что предложит?

KaZ@NoVa
31.03.2009, 22:51
Текст, переданный пользователем нужно отображать в таблице шириной 500px, можно конечно делить wordwrap(), но проблема заключается в том, что адреса преобразуются в ссылки и html код будет разрезан и в него будет вставлено <br />, если подумать, то можно сначала нарезать, потом ссылки преобразовать, но ссылки ведь тоже будут разрезаны. Можно проверять при нарезании "не начинается ли резуемое слово с http:// или www?" или что-то в этом роде... В общем, кто что предложит?

регэкспом
str="http://www.vkontakte.ru"
var patt=new RegExp("http://");
patt.test(str) <--- вернёт t

Ru}{eeZ
31.03.2009, 22:56
php

KaZ@NoVa
31.03.2009, 23:11
php

$str ="http://www.vkontakte.ru";
$pattern="http://";
preg_match ($pattern, $str, $result);
print $result;
.......

Sharky
31.03.2009, 23:57
$pattern="http://";
а оно вобще способно работать?


$str ="http://www.vkontakte.ru";
$pattern="/http(.*)/";
preg_match_all ($pattern, $str, $result);
print_r($result);

KaZ@NoVa
01.04.2009, 00:10
Sharky
Ну если юзать preg_match_all тогда надо вытяшивать из массива значенияв цикле

for ($i=0; $i< count($matches[0]); $i++) {
echo "matched: " . $matches[0][$i] . "\n";
echo "part 1: " . $matches[1][$i] . "\n";
echo "part 2: " . $matches[3][$i] . "\n";
echo "part 3: " . $matches[4][$i] . "\n\n";
}
?>