Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Веб - Программирование > PHP

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 30.12.2008, 22:51   #1
Новичок
 
Пол:Женский
Регистрация: 06.01.2007
Сообщений: 28
Репутация: 48
Question RCPE в PHP как сделать маску не пойму.

Хочу написать скрипт который бы менял теги из файла содержащего html код страницы
<a href="...."> .... </a> на
<script> document.write('<a href="..."> .... </a>'); </script>
Вот стоит такая задача.

Хочу решать следующем способом:
$lines=file(html.html); //Получили строки
for ($i=0;$i<=count($lines);$i++) { Идем по строкам
.... и вот тут нужно представить вхождение <a в строке
как это пишется ?
preg_match('/^<a+/mi',$lines[i], $matches); ??? ^ c начала строки символы < и a с жадностью до конца строки, и тогда в $matches[0] должно быть "<a ........ " а далее с конца
$new_line=$matches[0];
preg_match('/+</a>$/mi',$new_line,$matches);
$new_line=$matches[0];
так чтоль ?
}

Я просто начинающий програмист и поэтому рука еще не набита в написании примитивных вещей.
P.S. php.net читаю.


так разобрался как выделить:
<?php
$lines=" lalala <a href=\"test\">test</a> llll";
$matches=preg_split('/<a href=+/i',$lines,-1);
$new_line="<a href=".$matches[1];
$matches="";
$matches=preg_split('/\<\/a>+/i',$new_line,-1);
$new_line=$matches[0]."</a>";
echo "line is: ".$new_line."<br>";
?>
выделил строку ну собственно и все осталось дело техники вопроса.



И того полностью решение данного вопроса:

<?php

// Данный код вырезает из строки ссылку <a href="...">....</a>
$lines=' lalala <a href="te123st">tes324234t</a> llll';

$matches=preg_split('/<a href=+/i',$lines,-1);
$new_line="<a href=".$matches[1];
$links=preg_split('/"/i',$matches[1],-1);
$link=$links[1];
$text_links=preg_split('/>+/i',$links[2]);
$text_link=$text_links[1];
unset($text_links);
$text_links=preg_split('/<\/a/i',$text_link,-1);
$text_link=$text_links[0];
unset($text_links);
unset($matches);
$matches=preg_split('/\<\/a>+/i',$new_line,-1);
$new_line=$matches[0]."</a>";
unset($matches);

$new_line=trim($new_line); //Удаляем пробелы.
$link=trim($link);
$text_link=trim($text_link);

echo "line is: ".$new_line."<br>";
echo "link is: ".$link."<br>";
echo "text of link is: ".$text_link."<br>";


// теперь вынимаем ссылку и имя линка
?>

Последний раз редактировалось Trojanets; 31.12.2008 в 00:15.. Причина: Все стало понятно. Решено.
Trojanets вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: букет цветов мужскойyougile google calendarпровинциальный детектив почему сменили актрисуруки вверх купить билеты 2026приточки крышные


Старый 05.01.2009, 23:25   #2
Bacchus
Пользователь
 
Пол:Мужской
Регистрация: 24.01.2008
Сообщений: 39
Репутация: 8
По умолчанию Re: RCPE в PHP как сделать маску не пойму.

тут все не плохо, но недоработано (ну а с опытом оптимизируешь)
? что будешь делать если это все на разных строках,
или тэг а написан по другому типа <а href='...' >...</a >,
или <a target=blank href = "... и т.д.
начинать нужно с поиска "<a" и конец у него должен быть "</a" а вот середину уже парсишь по другим регулярным
тут можно все одним регулярным выражением описать, обойти по циклам или preg_replace.
пробуй инструмент regulator или regulazy или под php найди в нэте чего-нить для отладки регулярных выражений.

Последний раз редактировалось Bacchus; 05.01.2009 в 23:28..
Bacchus вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какую маску Вы одеваете? subvic Внутренний мир 57 20.11.2020 15:27
Не пойму в чем дело frederik Компьютерные проблемы 7 18.06.2009 18:44
переход на новую маску подсети, вопросы и проблемы semiora Windows 200x Server 6 30.11.2008 21:41
OC fail - что-то не пойму в чём дело? ollleg Архив 8 05.12.2007 23:54
Не пойму что за вирус такой ... THunderHead Архив 3 12.10.2007 09:50

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:25. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.03787 секунды с 11 запросами