Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с ссылками

1.9K
25 апреля 2004 года
olegking
45 / / 21.02.2004
1) Ситуация следущая:
Мне надо в тексте позаменять все слова или словосочетания на такие же,но берущиеся из базы данных на которые уже должна быть установлена ссылка. То есть дан текст типа
"Intel Pentium представила процессор" и его надо заменить на "<a href=asd>Intel Pentium</a> представила процессор"

В этом нет ничего сложного, str_replace,но как проверить стоит ли на Intel Pentium ссылка или может стоит на Intel.

Всё это на PHP

2) Подскажите пожалуйста, я вот сделал поиск, но мне надо очищать строку от плохих символов, привидите плз какие символы и как удалить из переменной $search.

3) Как мне выдрать все ссылки из текста, типа <a href=111>222</a> и мне надо получить в результате $name=222 $link=111 ?????
338
25 апреля 2004 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by olegking
... То есть дан текст типа
"Intel Pentium представила процессор"
и его надо заменить на
"<a href=asd>Intel Pentium</a> представила процессор"

В этом нет ничего сложного, str_replace,но как проверить стоит ли на Intel Pentium ссылка или может стоит на Intel.

Всё это на PHP


Ёханый бабай, так бы блин сразу и сказал.
Создаёшь таблицу, заносишь в неё ключевые слова-одним полем, вторым полем-id связанных с ним расширений, третьим- ссылка по умолчанию.
Создаешь вторую таблицу, в ней id, расширение и ссылка.

Конкретный пример. Ключевое слово intel - заносим в первую таблицу, даем id=1 (его вообще индексом и на автоинкремент)

С интелом у нас к примеру связано
1. Сама контора-описание, история
2. По каждому поколению и ядру- intel celeron, ...xeon pentium ...
Во вторую таблицу заносим записи
celeron id=1
xeon id=1
pentium id=1

Парсим текст, выделяем все слова, имеющиеся в таблице1.
В нашем случае- intel
Составляем массив и для каждого:
берем id ( у нас - 1)и делаем выборку по id из второй таблицы.(получаем celeron xeon pentium)
Если результат пустой, то вешаем ссылку по умолчанию(храним в первой таблице)
Если результат не пустой, то берем слово, следующее за обрабатываемым и по нему ищем в результатах предыдущего поиска. Если нашли, берем ссылку, иначе ссылка по умолчанию.
С кодом сам разбирайся, тут ничего сложного нет.
P.S.только вот тормозить будет не подетски. Ключевые слова без расширений можно отдельно сложить и для них сразу замену на ссылку. так чуток быстрее будет.

1.9K
25 апреля 2004 года
olegking
45 / / 21.02.2004
Честно говоря не че не понел, мне все говорят что надо парсить, а я не знаю что это такое, мож кто растолкует, токо не посылайте на буржуйский мануал. А желательно привиди пример.
338
25 апреля 2004 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by olegking
Честно говоря не че не понел, мне все говорят что надо парсить, а я не знаю что это такое...
Парсить- это разбирать текст в соответствии с какими либо правилами.
parse: выполнять грамматический разбор

Когда бродилка закачивает хэтэ-эмелину, она её парсит, чтобы отобразить, когда запускается php скрипт- он парсится чтобы исполниться. Или на предмет ошибок, и если ошибки есть то это parsing error. Можно парсить логи, в общем что угодно.
В твоем случае грамматика- это разделенные пробелами слова. Ну может другие разделители есть. Береш split( ) и разбиваешь как надо, потом убираешь хлам который заведомо ссылкой не будет- к примеру цифры, союзы, прочее. Не забудь в разделители включить точки, запятые и прочие восклицательные знаки. А уже с тем что останется продолжаешь работать

1.9K
25 апреля 2004 года
olegking
45 / / 21.02.2004
Покажи плизз пример, я не очень пойму, мне бы всё на примере, или где-нить прочитать про него побольше.
437
25 апреля 2004 года
Lsd[52r]
106 / / 20.12.1999
Цитата:
Originally posted by olegking
Покажи плизз пример, я не очень пойму, мне бы всё на примере, или где-нить прочитать про него побольше.



если с xml знаком, то ИМХО лучше статьи хранить в xml, а потом его разбирать с помощью пхп.. пример тут безсмысленно приводить, потому что если понимаешь о чем я то и сам сможешь... да и длинный больно пример получиться..

338
25 апреля 2004 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by Lsd[52r]
... да и длинный больно пример получиться..
2olegking и он прав...
Разбей свой вопрос на вопросы поменьше. И конкретно указывай, что именно не понятно. И пробуй в конце концов. Не получится-клади код, объясним что не так. А не посылая тебя к мануалам ответить на твой вопрос можно только забив мануал сюда- задача в общем то выполнимая, но чреватая. Mike не поймет. И Joker-у потом не обьяснишь, что из лучших побуждений сделано было.

437
26 апреля 2004 года
Lsd[52r]
106 / / 20.12.1999
Согласен.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог