регулярные выражения

DV

Guest
регулярные выражения

Нужно сделать, чтобы в тексте новости определненный фрагмен считался его подзаголовком - при выводе полного текста новости этот фрагмент становился жирным, а в списке новостей шел как часть текста....
Можно ли для выделения такого текста использовать, например такое выделение [nach]текст[konec]? Или обязательно должны быть треугольные скобки?
 

DV

Guest
а не важно как и какими скобками эта метка выражается?
 

TAHK

Guest
ну например можно сделать так
PHP:
$text = preg_replace("\[nach\](\w*)\[konec\]", "<B>$1</B>", $text)
Оно тебе выделит то чтомежду началом и концом жирным.
Но в квадратных то что скобках браузер отобразит. а то что в треугольных - нет
 

Demiurg

Guest
TAHK
а ты сам пробовал то, что предлагаешь ?

DV
ты заметил как в этом форуме происходит выделение ?
можно сделать так же, в простейшем случае это можно реализовать заменой [ b ] на <b> и [ /b ] на </b>
 

sakon

П..и.н..ок
TAHK
Мне почемуто кажется, что в треугольных и вообще любых
заменит ничуть не хуже....
 

DV

Guest
Demiurg да тут больше не замена нужна, а чтобы можно было во втором случае текст между этими метками вытащить...
 

DV

Guest
$text = "<nach>234567 121 1211 12121<konec> sdsdsdsd";

$tt = preg_replace("<nach>(\w*)<konec>", "<B>$1</B>", $text);

echo $tt;

Ошибка: Warning: Unknown modifier '(' in /home/1296/s1553/public_html/1.php on line 12
 

DV

Guest
Demiurg
Текст нужен для списка новостей в виде - заголовок, а под ним часть текста. А при открытии самой новости этот текст выделить жирным.
 

Demiurg

Guest
sakon
давай ты сначала сам подитаешь приведенную тобой ссылку ? как видишь приведенный твой код содержал синтаксическую ошибку в этих самых регулярных выражениях.

DV
откуда ты берешь эти новости ?
 

Demiurg

Guest
Тогда, на сколько я понимаю, тебе в одном месте надо [ b ] и [ /b ] заменять на пустую строку а в другом как я указал выше.
 

Мутник

Новичок
DV

а не проще в БД сделать отдельную ячейку для этих целей? на то она и БД...
 

DV

Guest
Мутник
А зачем одним и тем же текстом забивать базу?

-~{}~ 31.03.05 23:33:

Demiurg
а как текст выдрать для сокращенки?
 

sakon

П..и.н..ок
Demiurg
Сорри. Мой код? Я не приводил никакого кода.
И если бы приводил, то написал бы:
замена при выводе
$text = "<zag>234567 121 1211 12121</zag> sdsdsdsd";

$tt = preg_replace("/zag>/"," B>", $text);

echo $tt;

вывод заголовка
$text = "<zag>234567 121 1211 12121</zag> sdsdsdsd";

preg_match("/<zag>(.*?)<\/zag>/is", $text, $dd);

echo $dd[0];

Сорри. Поправил
 

Demiurg

Guest
DV
давай по порядку.
в каком виде у тебя хранятся новости в базе ?

sakon
не надо врать
DV взял твой код и попробовал запустить, на что у него вывелась ошибка, о которой он уже написал.

-~{}~ 31.03.05 23:42:

sakon
ты делаешь слишком много ошибок, тебе самому то не стыдно ?
 
Сверху