Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.20;
Скачать: CL | DM;

Вниз

Как сделать (PHP)   Найти похожие ветки 

 
Undert ©   (2003-12-27 00:17) [0]

замену :любая_строка: на например <a href="/любая_строка/">любая_строка</a> ? Так же как в чате на этом сайте ?


 
Knight ©   (2003-12-27 00:26) [1]


$str1="href-любая_строка";
$str2="text-любая_строка";
echo "<a href="".$str."">".$str2."</a>";


Что-то типа этого...


 
Undert ©   (2003-12-27 00:43) [2]

Нет, ты меня не понял - дана любая строка, где содержится неограниченное количество подстрок состава ":...:", где "..."- любое слово, надо их находить и изменять - цикл геморно ... там же в PHP дофига каких то функци на этот счёт есть, а вот каких и как их юзать я не знаю :(


 
Knight ©   (2003-12-27 00:58) [3]


echo str_replace(":...:","любая_строка",$str);

Например:

$str="<image src="%path%/images/img-01.jpg" align="right"
border="1" style="margin: 10;">"
$path="news/db/".$year."/".$month;
echo str_replace("%path%",$path,$str);


А для чего тебе это надо? Может как-то иначе можно?


 
Knight ©   (2003-12-27 01:02) [4]


echo str_replace(":...:","любая_строка",$str);


Например:

$str="<image src="%path%/images/img-01.jpg" align="right"
border="1" style="margin: 10;">"
$path="folder1/".$var1."/".$var2;
echo str_replace("%path%",$path,$str);


Теперь правильно понял? :)


 
Undert ©   (2003-12-27 01:07) [5]

несовсем,
типа фишка нужна в форуме, пишешь например :fuckyou:, а форум это заменяет на <img src="/img/fuckyou.gif"> или :kill: на <img src="img/kill.gif">.

Списком типа там БД вести - не хочу - тормознуто и навороченно.
Тут же в чате это как то реализованно...


 
otido ©   (2003-12-27 02:21) [6]

на Perl это до смешного просто $out=~ s/$smile_code/$img_name/g;
.. помнится, в мануале читал про аналогичные перлу функции РНР с аналогичным же и синтаксисом. В принципе, тебе самое нормальное и написали.. str_replace

что касается места хранения "переводов", то пользовался хэшем, в Перле ДМБ если не путаю порядок букв.. там на самом деле просто.. по-моему, РНР его тоже пользовать умеет.. язык не главное, они во многом похожи, хотя перл мне симпатичнее))


 
Knight ©   (2003-12-27 02:38) [7]

>> Undert © (27.12.03 01:07) [5]
Это тебе в регулярные выражения ereg(), eregi() и т.п... :)

Сперва по шаблону выцарапываешь все стринги в масси, а потом в цикле через str_replace меняешь их на то, что надо...


 
Undert ©   (2003-12-27 13:26) [8]


> Knight ©


Да, я понимаю, а как пользоватеся ereg , ereg_replace?
Хелпов нормальных не нашёл :(


 
Moscower ©   (2003-12-27 15:32) [9]

preg_replace лучше, ereg_replace не рекомендую, у него абсолютно нет никаких преимуществ - медленнее работает и возможностей меньше.

А хелп можно почитать на http://www.php.net/manual/ru/ - лучше не найдешь


 
Knight ©   (2003-12-29 23:14) [10]

Чё за два дня, пока я был в дауне, никто ничего так и не написал? Если ещё не написал, скажи... накидаю, примерчик.


 
Undert ©   (2003-12-30 01:02) [11]


> Knight ©


Absolutley nothing :((
my mail: ereg_replace_qwertyuiop@invales.com


 
Knight ©   (2003-12-30 10:04) [12]

Можно, конечно, так, но сам понимаешь это не лучший вариант... одна большая дыра :)

// echo eregi_replace(":([aA-zZ0-9]+):",(strpos(",\\1,",$smiles))?"<img src="images/\\1.gif">":"",$str);



Лучше сделать хоть какую-то проверку доступных смайлов, пример конечно не блеск, но хоть как-то работает... :)


$smiles=" ,test,kill,smile,hello,smile2,";

$str="fklsf :test: dkfs :smile::smile2: ";

while (eregi(":([[:alnum:]]+):",$str,$regs)) {
$res=(strpos($smiles,",".$regs[1].","))?"<img src="images/".$regs[1].".gif">":"";
$str=str_replace(":".$regs[1].":",$res,$str);
}
echo $str;



Страницы: 1 вся ветка

Текущий архив: 2004.01.20;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
1-63064
Alex SPA
2004-01-08 10:19
2004.01.20
Открыть файл *.doc (через программу конечно) без предупреждения.


1-63228
Sergious
2004-01-09 15:39
2004.01.20
А в Delphi 7 есть закладка FastNet?


1-63235
Ivolg
2004-01-09 11:53
2004.01.20
Второстепенные формы


7-63412
Sam Stone
2003-10-24 11:12
2004.01.20
Входящий трафик


1-63176
tesseract
2004-01-10 14:01
2004.01.20
штрихкоды