С нами с 20.10.05
Сообщения: 833
Рейтинг: 629
|
Добавлено: 20/09/07 в 15:48 |
Подскажите плиз как делать сабж.
Есть строка: слово1, слово слово2, слово3
Нужна строка: <а href=домен/скрипт?id=слово1>слово1</a>, <а href=домен/скрипт?id=слово1>слово слово2</a>, <а href=домен/скрипт?id=слово1>слово3</a>
Так же интересуют преобразования урлов вида http://домен/ в http%3A%2F%2Fдомен%2F и строк "слово1 слово2 слово3" в "слово1+слово2+слово3"
|
|
|
|
grammar nazi
С нами с 23.01.03
Сообщения: 6974
Рейтинг: 2037
|
Добавлено: 20/09/07 в 16:12 |
|
|
Меня как из ушата окатили. Так гадко стало. И обидно.
Пустышка.
|
0
|
|
|
grammar nazi
С нами с 23.01.03
Сообщения: 6974
Рейтинг: 2037
|
Добавлено: 20/09/07 в 16:21 |
vxod писал: | Подскажите плиз как делать сабж.
Есть строка: слово1, слово слово2, слово3
Нужна строка: <а href=домен/скрипт?id=слово1>слово1</a>, <а href=домен/скрипт?id=слово1>слово слово2</a>, <а href=домен/скрипт?id=слово1>слово3</a>
|
Это я бы так сделал. (Но я только учусь)
$strokatvoya = "слово1, слово слово2, слово3";
$array = explode(", ", $strokatvoya); // Получим массив $array[1] = "слово1", $array[2] = "слово слово2" и т.д.
Ну и дальше просто подставить их. Циклом, либо в строку...
|
|
Меня как из ушата окатили. Так гадко стало. И обидно.
Пустышка.
|
3
|
|
|
осинизатор
С нами с 10.03.03
Сообщения: 8491
Рейтинг: 819
|
Добавлено: 20/09/07 в 17:54 |
Обычный str_replace().
|
|
|
|
php наше всё :)
С нами с 26.07.04
Сообщения: 814
Рейтинг: 447
|
Добавлено: 20/09/07 в 17:57 |
vxod писал: | Подскажите плиз как делать сабж.
Есть строка: слово1, слово слово2, слово3
Нужна строка: <а href=домен/скрипт?id=слово1>слово1</a>, <а href=домен/скрипт?id=слово1>слово слово2</a>, <а href=домен/скрипт?id=слово1>слово3</a>
|
Код: | function ConvertString($St) //$St = "слово1, слово слово2, слово3";
{
$A = explode(", ",$St);
$Res = Array();
foreach ($A as $S)
{
$Res[] = "<A href=домен/скрипт?id=".$A[0].">".$S."</A>";
}
return join(", ",$Res);
}
echo ConvertString("слово1, слово слово2, слово3");
|
vxod писал: | Так же интересуют преобразования урлов вида http://домен/ в http%3A%2F%2Fдомен%2F и строк "слово1 слово2 слово3" в "слово1+слово2+слово3" |
Код: | $St = urlencode($St); |
В общем, должно работать )))
|
|
Толковый программист ждет [не]больших заказов (:
|
3
|
|
|
С нами с 03.05.07
Сообщения: 801
Рейтинг: 825
|
Добавлено: 20/09/07 в 22:52 |
Всё намного проще
Код: |
echo preg_replace("/((.*?)([,]|$))/","<a href=домен/скрипт?id=$2>$2</a>$3","word1, word2, word3, word4");
|
А вот то что тебе нужно по всей видимости:
Код: |
echo preg_replace("/((.*?)([,]|$))/e","'<a href=домен/скрипт?id='.urlencode('\\2').'>\\2</a>\\3'","long word1, long word2, long word3, long word4");
|
|
|
|
|
С нами с 20.10.05
Сообщения: 833
Рейтинг: 629
|
Добавлено: 23/09/07 в 22:23 |
[quote="CJLOG"]Всё намного проще
Код: |
echo preg_replace("/((.*?)([,]|$))/","<a href=домен/скрипт?id=$2>$2</a>$3","word1, word2, word3, word4");
|
выдает текст
<a href=домен/скрипт?id=world1>world1, </a><a href=домен/скрипт?id=>world2, </a> и т.д.
т.е. ид в ссылке прописывает только для первого слова, остальные слова получают ссылки без ид.
|
|
|
|
С нами с 03.05.07
Сообщения: 801
Рейтинг: 825
|
Добавлено: 24/09/07 в 00:16 |
Ага, чё-то не заметил. Вот, держи оба варианта подправленные:
Код: |
echo preg_replace("/(([^ ].*?)([,]|$))/","<a href=домен/скрипт?id=$2>$2</a>$3","word1, word2, word3, word4");
echo "<p></p>";
echo preg_replace("/(([^ ].*?)([,]|$))/e","'<a href=домен/скрипт?id='.urlencode('\\2').'>\\2</a>\\3'","long word1, long word2, long word3, long word4");
|
|
|
|
|
С нами с 20.10.05
Сообщения: 833
Рейтинг: 629
|
Добавлено: 24/09/07 в 00:36 |
CJLOG писал: | Ага, чё-то не заметил. Вот, держи оба варианта подправленные:
Код: |
echo preg_replace("/(([^ ].*?)([,]|$))/","<a href=домен/скрипт?id=$2>$2</a>$3","word1, word2, word3, word4");
echo "<p></p>";
echo preg_replace("/(([^ ].*?)([,]|$))/e","'<a href=домен/скрипт?id='.urlencode('\\2').'>\\2</a>\\3'","long word1, long word2, long word3, long word4");
| |
спасибо, заработало =) добавил только \" , чтоб фразы из двух слов тоже преобразовывались в ссылку
меня интересовал только первый вариант. про преобразование урла спрашивал для других целей.
а как можно изъебнуться, чтобы менял фразы на ссылки с фразами, начиная с n-ой фразы, а не все подряд?
|
|
|
|
С нами с 03.05.07
Сообщения: 801
Рейтинг: 825
|
Добавлено: 24/09/07 в 01:49 |
vxod писал: | спасибо, заработало =) добавил только \" , чтоб фразы из двух слов тоже преобразовывались в ссылку
меня интересовал только первый вариант. про преобразование урла спрашивал для других целей.
а как можно изъебнуться, чтобы менял фразы на ссылки с фразами, начиная с n-ой фразы, а не все подряд? |
Т.е. в выражении "word1, word2, word3" надо поменять только word2 и word3, если начинать со второй? Если так, то:
Код: |
echo join(", ",array_slice($s=explode(",","word1, word2, word3, word4"),0,-count($s)+СКОЛЬКО_СЛОВ_ВЫРЕЗАТЬ_С_НАЧАЛА)).preg_replace("/(([^ ].*?)([,]|$))/","<a href=домен/скрипт?id=$2>$2</a>$3",join(", ",array_slice($s,0,СКОЛЬКО_СЛОВ_ВЫРЕЗАТЬ_С_НАЧАЛА)));
|
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
|
Спонсор раздела
|