ссылки

Статус
В этой теме нельзя размещать новые ответы.

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>

т.е. ссылки должны идти не в список, а в строку через пробел
 
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
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 можно отказаться...

PHP:
$text = str_replace(array("\r", "\n"), array('', ''), $text);
не вариант?
 
Писали писали так и не помогли ))
Главное всетаки было создать новый текстовый файл с содержанием:......

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
Писали писали так и не помогли ))
Главное всетаки было создать новый текстовый файл с содержанием:......

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);

?>
весь твой код можно заменить одним регулярным выражением:
PHP:
$text = preg_replace('/http:\/\/([^\s]+)\s+([^\s]+)/is', '<a href="http://$1">$2</a>', $text);
 
Точно...
Несообразил...
Только тогда уж как то так

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 учесть нужно и в строку через пробел пустить ну и в файл записать...
 
\s включает в себя любой пробельный символ, перенос строки, перевод каретки и разрыв страницы. так что [\r|\n]+ тут ник чему.
Чтение и запись в файл - это примитив, который я не рассматриваю.
 
  • Нравится
Реакции: zxxx
А каким образом мне из масива:
Код:
http://link1;filename1;
http://link2;filename2;
http://link3;filename3;
ссылки прочитать в переменные link1, link2, link3, а имена файлов в переменные filename1, filename2, filename3 ? И как прочитать нужный мне кусок (ссылку или имя файла) разделенный ";", и какой лучше разделители применить? Заранее всем спасибо!
 
drekhaker структура файла смахивает на csv
есть php ф-ции fgetcsv fputcsv - их и нужно использовтаь
 
drekhaker структура файла смахивает на csv
есть php ф-ции fgetcsv fputcsv - их и нужно использовтаь
*** скрытое содержание ***
Спасибо!!! То что надо! Только z не моггу понять как из
Код:
http://link1;filename1;
http://link2;filename2;
http://link3;filename3;
вписать в переменную $var значение filename2 ?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху