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

S3
На сайте с 29.03.2012
Online
341
1028

Задался целью нарисовать такой скрипт, нужны дельные советы.

Исходные данные:

Сайт на вордпресс, размещено в статьях более 700 ссылок. Можно привязываться к функции the_content(), резать нужно только оттуда.

Есть CSV(Exel) файл со списком ссылок, содержит по разным графам:

1) адрес страницы со ссылкой

2) адрес страницы на которую ссылка ведет, это и нужно удалять

3) анкор

Что хотел бы:

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

Планируемый алгоритм:

Первая загвоздка - как лучше проверять?

Как вариант:

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

Как должна выглядеть регулярка, если есть только ссылка, а нужно менять весь урл?

То есть ищу по выражению 'adres-ssylki.com' ,

нашел в тексте, теперь надо урл вида

<a href="adres-ssylki.com">Текст ссылки</a>

заменить на

Текст ссылки

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

Подытожу вопрос:

Как правильно обработать эксель файл и получать из него строку для проверки;
Как написать регулярку, которая будет из ссылки вырезать анкор?

Возможно, итоговый скрипт будет полезен не только мне.

Samail
На сайте с 10.05.2007
Offline
369
#1

Нужно все ссылки убрать или только некоторые? Может проще так сделать: strip_tags( the_content() )

S3
На сайте с 29.03.2012
Online
341
#2
Samail:
Нужно все ссылки убрать или только некоторые? Может проще так сделать: strip_tags( the_content() )

Именно что выбранные. strip_tag никак не подходит. Я писал скрипт для удаления всех ссылок, тут задача сложнее.

S3
На сайте с 29.03.2012
Online
341
#3

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

Я обрабатываю файл, предварительно загруженный на сайт, таким образом:

$handle = fopen("../wp-content/uploads/test1.csv", "r");

Возникла мысль - а зачем мне этот файл грузить на хостинг? может можно сразу с локального сайта грузить его в $open и дальше так же обрабатывать? Возможно так?

Если да - подскажите как сделать.

S
На сайте с 05.07.2013
Offline
53
Sci
#4
может можно сразу с локального сайта грузить его в $open и дальше так же обрабатывать?

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

S3
На сайте с 29.03.2012
Online
341
#5
Sci:
Не совсем понятно, то имеется ввиду. Если это сделано в виде плагина, то можно сделать страницу управления плагином где можно например либо загружать документ со списком ссылок, либо руками вставлять нужные ссылки если их не много например.

Так и сделано. Сейчас ссылки берутся из файла, который предварительно через админку грузится на хостинг. Еще будет вариант проверки единичных ссылок. Забиваешь в форму - идет поиск по все базе. Думал как то обойтись без загрузки на хостинг, считывать сразу в обьект файл.

Если интересно - чуть позже выложу результат.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий