IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   обработать текст на Php (http://www.imho.ws/showthread.php?t=47825)

shuron 05.01.2004 21:05

обработать текст на Php
 
Как бы мне в коротеньком тексте все выражения типа " [IMG:10]" ( цифра само сабой меняется)
заменить на "<img src="picture?pid=10>" тоесть цыфра чтобы сооответствовала ...

ну или хотябы какие функции лучше использовать?

RaZEr 05.01.2004 21:09

Код:

$str = preg_replace("/\[IMG\:(\d+)\]/","<img src=\"picture?pid=\\1\">",$str);
Добавлено через 1 минуту:
Смайл вставился вместо ":" и "(". Убогий форум.

shuron 05.01.2004 21:35

спасибо!! а не знаешь ресурс хороший где про регулярные вражения стоит?

RaZEr 05.01.2004 21:38

http://www.perl.com/doc/manual/html/pod/perlre.html

shuron 05.01.2004 21:45

эх любишь ты английский... ну ничего пролезно вспомнить...:)) ставлю 5!

RaZEr 05.01.2004 21:47

Ну не с твоей орфографией о любви к русскому рассказывать.

shuron 05.01.2004 22:21

послушай а как узнать? стоит ли [IMG:2] в саммом начале строки и если да получить число (в даном случае 2) ?

Добавлено через 4 минуты:
а я о ней и не рассказываю, но английскую ещё меньше люблю..
да вобще ни какую не люблю.. а по русски уже с 15 лет не пишу так как живу не в России

Saruman 05.01.2004 22:29

shuron
preg_match("/\[IMG\:(\d+)\]/",$str, $aMatches);
echo $aMatches[1];

RaZEr 05.01.2004 22:30

preg_match("/\[IMG\:(\d+)\]/",$str,$ok); echo $ok[1];

PS: На этом форуме немало тех, кто не живет в России, однако это не мешает им писать без ошибок.

shuron 05.01.2004 22:38



тебя раздражает моя граматика?

Добавлено через 3 минуты:
да но разве это проверит стоит ли [IMG] в самом начале строки?

RaZEr 05.01.2004 22:40

Нет, не проверит. Но ты так задал вопрос, что получил на него сразу два неправильных ответа ;)

preg_match("/^\[IMG\:(\d+)\]/",$str,$ok); echo $ok[1];

shuron 05.01.2004 22:59

мне надо знать это число только если выражение стоит первым в тексте...

Добавлено через 3 минуты:
угу спасибо

Добавлено через 14 минут:
Как мне узнать встречается ли во всём тексте хоть один раз выражение "[IMG:3]" (3 опять любое число)?
это будет так?

preg_match("/\[IMG\:(\d+)\]/",$text,$ok);
if(isset($ok[1]))
echo "yes!";

?

RaZEr 05.01.2004 23:06

if (preg_match(...))

shuron 06.01.2004 00:11

странно в описании не стоит что он true или false выдает, или я криво смотрел...

Saruman 06.01.2004 00:39

shuron
preg_match() returns the number of times pattern matches. That will be either 0 times (no match) or 1 time because preg_match() will stop searching after the first match. preg_match_all() on the contrary will continue until it reaches the end of subject. preg_match() returns FALSE if an error occured.

shuron 06.01.2004 00:58

теперь вижу..:))

AleXXXSoft 06.01.2004 11:43

мдя) подскажите-ка регу плиз)

medved2002 06.01.2004 18:07

Код:

echo preg_replace('/\[img:(\d+)\]/i', '<img src="picture.php?id=\\1">', "[IMG:10]");

RaZEr 06.01.2004 18:08

Это к чему?

medved2002 06.01.2004 18:10

Мдяя я тормоз зато время что написал тут такой треп уже развернулся...


Часовой пояс GMT +4, время: 18:41.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.