Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2012, 16:24   #1
lbarmen
 
Регистрация: 19.11.2009
Сообщений: 7
Счастье Поиск X с заменой на A

Всем привет, помогите с такой проблемой:
получаю текст, где есть много ссылок
....href="x1".....href="x2"........ ..и т.д.
мне нужно получить X, обработать, а затем обратно вставить в X
lbarmen вне форума Ответить с цитированием
Старый 09.05.2012, 23:03   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Читай про preg_match.
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 10.05.2012, 00:26   #3
lbarmen
 
Регистрация: 19.11.2009
Сообщений: 7
По умолчанию

Вроде как нашел, но способ как то не особо радует) и еще он не видит ссылку без кавычек
Код:
<?php
/**
 * Replaces anchor tags with text
 * - Will search string and replace all anchor tags with text (case insensitive)
 *
 * How it works:
 * - Searches string for an anchor tag, checks to make sure it matches the criteria
 *         Anchor search criteria:
 *             - 1 - <a (must have the start of the anchor tag )
 *             - 2 - Can have any number of spaces or other attributes before and after the href attribute
 *             - 3 - Must close the anchor tag
 *
 * - Once the check has passed it will then replace the anchor tag with the string replacement
 * - The string replacement can be customized
 *
 * Know issue:
 * - This will not work for anchors that do not use a ' or " to contain the attributes.
 *         (i.e.- <a href=http: //php.net>PHP.net</a> will not be replaced)
 */
function replaceAnchorsWithText($data) {
    /**
     * Had to modify $regex so it could post to the site... so I broke it into 6 parts.
     */

    $regex .= '/href=[\'"]+?\s*(?P<link>\S+)\s*[\'"]+?/i'; // Grab the link
   
    if (is_array($data)) {
        // This is what will replace the link (modify to you liking)
        $data = "{$data['link']}";
    }
    return preg_replace_callback($regex, 'replaceAnchorsWithText', $data);
}

$input  = 'Test 1: <a href="http://php.net1">PHP.NET1</a>.<br />';
$input .= 'Test 2: <A name="test" HREF=\'HTTP://PHP.NET2\' target="_blank">PHP.NET2</A>.<BR />';
$input .= 'Test 3: <a hRef=http://php.net3>php.net3</a><br />';
$input .= 'This last line had nothing to do with any of this';

echo replaceAnchorsWithText($input).'<hr/>';

Последний раз редактировалось lbarmen; 10.05.2012 в 00:42.
lbarmen вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перехват функции с заменой N-Cat Win Api 13 09.06.2011 11:42
Проблема с заменой символов ZET78 Общие вопросы C/C++ 0 19.09.2010 21:04
Поиск файла и копирование с заменой tarakan1983 Общие вопросы Delphi 11 29.04.2010 15:14
Помогите с заменой!!! olview Microsoft Office Excel 7 04.12.2009 10:35
Поиск с заменой! MAKEDON Общие вопросы C/C++ 1 15.04.2009 22:02