Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удаление ссылок из текста
 
 автор: viera1   (13.09.2007 в 21:41)   письмо автору
 
 

Помогите, пожалуйста.
Из текста нужно удалить все ссылки вида <a href="#_Toc177130457">. Т.е. текст примерно такой:
<p><a href="#_Toc177130457">I. Введение. 3</p>
<p><a href="#_Toc177130458">II. Историческая справка. 3</p>
<p><a href="#_Toc177130459">III. Методы закаливания. 5</p>
<p><a href="#_Toc177130460">IV. Основные принципы проведения
закаливающих процедур. 7</p>
<p><a href="#_Toc177130461">V. Вывод. 7</p>
<p><a href="#_Toc177130462">VI. Список литературы.. 9</p>
Нужен текст без этих ссылок.

   
 
 автор: viera1   (13.09.2007 в 21:57)   письмо автору
 
   для: viera1   (13.09.2007 в 21:41)
 

Прооблема решена!

<?php
$text 
"<p><a href=\"#_Toc177130457\">I. Введение. 3</a></span></p><p><a href=\"#_Toc177130458\">II. Историческая справка. 3</a></span></p>"
."<p><a href=\"#_Toc177130459\">III. Методы закаливания. 5</a></span></p>"
."<p><a href=\"#_Toc177130460\">IV. Основные принципы проведения закаливающих процедур. 7</a></span></p>"
."<p><a href=\"#_Toc177130461\">V. Вывод. 7</a></span></p>"
."<p><a href=\"#_Toc177130462\">VI. Список литературы.. 9</a></span></p>";
echo 
preg_replace("#<a href=[^>]*>#is"""$text);
?> 

   
 
 автор: SHAman   (13.09.2007 в 22:05)   письмо автору
 
   для: viera1   (13.09.2007 в 21:57)
 

Это полохое решение. Так у вас останутся мусорные закрывающие теги. Есть еще ньюансы, но это всетки нюансы:)


preg_replace("#<a href=[^>]*(.*?)<\/a>#is", "\$1", $text); 

   
 
 автор: viera1   (14.09.2007 в 11:43)   письмо автору
 
   для: SHAman   (13.09.2007 в 22:05)
 

Спасибо, всё верно.

   
 
 автор: valenok   (14.09.2007 в 02:50)   письмо автору
 
   для: viera1   (13.09.2007 в 21:41)
 


<?php
function strip_selected_tags($text$tags = array())
{
    
$args func_get_args();
    
$text array_shift($args);
    
$tags func_num_args() > array_diff($args,array($text))  : (array)$tags;
    foreach (
$tags as $tag){
        while(
preg_match('/<'.$tag.'(|\W[^>]*)>(.*)<\/'$tag .'>/iusU'$text$found)){
            
$text str_replace($found[0],$found[2],$text);
        }
    }

    return 
preg_replace('/(<('.join('|',$tags).')(|\W.*)\/>)/iusU'''$text);
}

?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования