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..
Причина: Все стало понятно. Решено.
|