Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Разбиение на строки (https://forum.antichat.xyz/showthread.php?t=113961)

Ru}{eeZ 31.03.2009 22:30

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

KaZ@NoVa 31.03.2009 22:51

Цитата:

Сообщение от Ru}{eeZ
Текст, переданный пользователем нужно отображать в таблице шириной 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

Цитата:

Сообщение от Ru}{eeZ
php

Цитата:

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

Sharky 31.03.2009 23:57

Цитата:

Сообщение от KaZ@NoVa
$pattern="http://";

а оно вобще способно работать?

PHP код:

$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";
}
?>


Время: 10:35