Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];

Вниз

Как сделать (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
14-63374
ertong
2003-12-28 15:11
2004.01.20
Алгоритм Флойда Стейнберга


3-63026
BlackTiger
2003-12-21 22:38
2004.01.20
Глюки грида DeveloperExpress4? Или как?


14-63357
sync
2003-12-29 22:05
2004.01.20
Помогите разобраться с протаколами


1-63191
wnew
2004-01-09 21:49
2004.01.20
Проблема с Transparent


1-63231
elic
2004-01-09 14:21
2004.01.20
PopupMenu





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский