ссылки

Тема в разделе "PHP", создана пользователем zxxx, 3 ноя 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. zxxx

    zxxx Постоялец

    Регистр.:
    9 окт 2009
    Сообщения:
    148
    Симпатии:
    4
    как методами php можно из одного текстового файла содержащего список:

    Код:
    http://ссылка1 кейворд1
    http://ссылка2 кейворд2
    http://ссылка3 кейворд3
    создать новый текстовый файл с содержанием:

    <a href"http://ссылка1">кейворд1</a> <a href"http://ссылка2">кейворд2</a> <a href"http://ссылка3">кейворд3</a>

    т.е. ссылки должны идти не в список, а в строку через пробел
     
  2. t3s

    t3s

    Регистр.:
    16 фев 2008
    Сообщения:
    719
    Симпатии:
    290
    PHP:
    $text "
    http://ссылка1 кейворд1
    http://ссылка2 кейворд2
    http://ссылка3 кейворд3
    "
    ;
    $text str_replace("\r\n",'',$text);
    $text str_replace("\n",'',$text);

    echo 
    $text;
    обратите внимание, что str_replace-ом заменяю символ переноса строки 2 раза - один раз под виндовс, второй под линукс... если работать будет лишь под линуксом, то от \r\n можно отказаться...
     
    zxxx нравится это.
  3. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    PHP:
    $text str_replace(array("\r""\n"), array(''''), $text);
    не вариант?
     
    propovednik и zxxx нравится это.
  4. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    351
    Писали писали так и не помогли ))
    Главное всетаки было создать новый текстовый файл с содержанием:......

    PHP:
    <?php
    // Если статично то
    $text='http://ссылка1 кейворд1
    http://ссылка2 кейворд2
    http://ссылка3 кейворд3'
    ;

    // Если через файл то
    // $text=file_get_contents('путь до файла');
    // Файлы более 1-2 метров неюзать! желательно :DD

    $strs=explode("\n"$text);
    unset(
    $text);
    while(
    true)
    {
        
    $temp=explode(' '$strs[key($strs)], 2);
        
    $out.='<a href="'.$temp[0].'">'.trim($temp[1]).'</a>';
        if (!
    next($strs)) break;
        
    $out.=' ';
    }
    file_put_contents(time().'_'.rand(0,999).'.txt'$out);

    ?>
     
    zxxx нравится это.
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    весь твой код можно заменить одним регулярным выражением:
    PHP:
    $text preg_replace('/http:\/\/([^\s]+)\s+([^\s]+)/is''<a href="http://$1">$2</a>'$text);
     
  6. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    351
    Точно...
    Несообразил...
    Только тогда уж как то так

    PHP:
    <?php
    // Если статично то
    $text='http://ссылка1 кейворд1
    http://ссылка2 кейворд2
    http://ссылка3 кейворд3
    '
    ;

    // Если через файл то
    // $text=file_get_contents('путь до файла');
    // Файлы более 1-2 метров неюзать! желательно :DD

    file_put_contents(time().'_'.rand(0,999).'.txt'preg_replace("#http://([^\s]+)\s+([^\s]+)[\r|\n]+#is"'<a href="http://$1">$2</a> '$text));

    ?>
    Добавлено через 1 минуту
    нам веть и \r \n учесть нужно и в строку через пробел пустить ну и в файл записать...
     
    latteo и zxxx нравится это.
  7. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    \s включает в себя любой пробельный символ, перенос строки, перевод каретки и разрыв страницы. так что [\r|\n]+ тут ник чему.
    Чтение и запись в файл - это примитив, который я не рассматриваю.
     
    zxxx нравится это.
  8. drekhaker

    drekhaker Писатель

    Регистр.:
    10 дек 2010
    Сообщения:
    4
    Симпатии:
    0
    А каким образом мне из масива:
    Код:
    http://link1;filename1;
    http://link2;filename2;
    http://link3;filename3;
    ссылки прочитать в переменные link1, link2, link3, а имена файлов в переменные filename1, filename2, filename3 ? И как прочитать нужный мне кусок (ссылку или имя файла) разделенный ";", и какой лучше разделители применить? Заранее всем спасибо!
     
  9. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    363
    Симпатии:
    117
  10. drekhaker

    drekhaker Писатель

    Регистр.:
    10 дек 2010
    Сообщения:
    4
    Симпатии:
    0
    Спасибо!!! То что надо! Только z не моггу понять как из
    Код:
    http://link1;filename1;
    http://link2;filename2;
    http://link3;filename3;
    вписать в переменную $var значение filename2 ?
     
Статус темы:
Закрыта.