Главная страница
    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.029 c
14-63345
MBo
2003-12-27 09:36
2004.01.20
Субботние задачки


7-63410
ФЫ
2003-10-23 22:52
2004.01.20
дисковод


14-63363
Diablo
2003-12-27 12:18
2004.01.20
Фокусы


4-63457
Jampir
2003-11-16 20:32
2004.01.20
получение цвета точки рабочего стола


3-63007
DeniM
2003-12-23 10:36
2004.01.20
А как правильно делать ручную репликацию? (+)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский