2 задания на php, требуется внести улучшения в код.

1. Есть несколько текстовых файлов (анонсы блога с каждой категории) содержащих несколько ссылок и текст, форматированный html. Нужно извлечь из этих файлов ссылки и вывести в переменную. Пример одного из файлов

1337289282¶sentence, page 1¶

20.05

Anchor

Text ... text

21.05

Anchor2

Text ... text

как видите, там несколько ссылок и все их нужно извлечь и вынести в переменную. должно получиться так

Anchor

Anchor2

все переменные со ссылками на посты вызываются одновременно . они будут помещены в шаблон дизайна.

Скорее всего, сделать это нужно с помощью регулярного выражения вроде этого

$x = file_get_contents("./data/cash/index.forex-strategies.0.txt");

preg_match_all("/()/s", $x, $y);

var_dump($y[0]);

В идеале хорощо бы сделать опцию, чтобы можно было указать в коде, сколько именно ссылок нужно извлечь с начала каждого файла.

--------------------

2. Есть маленький плагин для блога, который извлекает список популярных постов из текстового файла , оформляет его и показывает на страницах блога.

текстовой файл, откуда берутся строки выглядит так.

  1. link to post from category 1
  2. link to post from cat 2
  3. link to post from cat 3
  4. link to post from cat 1

код самого плагина

# извлекаем список постов

$list_here='./tmp/popular.txt';

$popular=(

file_exists($list_here)

and in_array($action,array('post','comment')) # указываем на каких типах страниц показывать

and $_s['settings']['max_popular'] > 0)

? '

Popular posts:

'.file_get_contents($list_here): '';

# оформляем в каком виде будем показывать

$popular=preg_replace('/

  • (\d{1,}) ]+)>(.+)
  • /i','
  • \\1 \\3
  • ',$popular);

    # этот вызов вставляется в дизайн.

    include_once ('./data/php_pages/plugin_popular_table.php'); in the design.

    Сейчас плагин просто берет этот список и показывает на страницах. Нужно, чтобы плагин показывал ссылки только на те популярные посты , который находятся в конкретной категории. То есть нужно учредить проверку, если ссылка из файла popular.txt не на пост данной категории, то не отображаем ее.

    должно выглядеть как

    популярные посты из категории трейдинг

    link to post from category 1g

    link to post from category 1

    link to post from category 1trading

    В блоге предусмотрены функции, которые отвечают за категорию, тип страницы и т.п.

    Например, такая проверка для меню.

    if ($action=='post') {

    if ($category=='trading')

    $menu='first menu-any html';

    elseif ($category=='brokers')

    $menu='second menu-any html';

    else $menu='no menu';

    }

    если тип странца пост и категория трейдинг, показываем первое меню, если категория -брокеры, показываем другое.

    не нужно форматировать или что-то еще нужно просто учредить такую проверку. Хорошо бы еще сделать такое: если плагин не нашел ссылок на посты данной категории, тогда он вообще ничего не показывает.

    Есть массивы с именами категорий, и массив постов (с расфасовкой по категориям) cделайте компиляцию в каком-нибудь ключе. за массивами пишите в личку.

    Если не напугались и видите логику, написать пару кусочков кода не составит особого труда.

    13 лет назад
    stepin
    18 лет в сервисе
    Был
    3 года назад

    Заявки фрилансеров

    Нет заявок фрилансеров