![]() |
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>"; // теперь вынимаем ссылку и имя линка ?> |
Re: RCPE в PHP как сделать маску не пойму.
тут все не плохо, но недоработано (ну а с опытом оптимизируешь)
? что будешь делать если это все на разных строках, или тэг а написан по другому типа <а href='...' >...</a >, или <a target=blank href = "... и т.д. начинать нужно с поиска "<a" и конец у него должен быть "</a" а вот середину уже парсишь по другим регулярным тут можно все одним регулярным выражением описать, обойти по циклам или preg_replace. пробуй инструмент regulator или regulazy или под php найди в нэте чего-нить для отладки регулярных выражений. |
| Текущее время: 02:39. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2026 NoWa.cc