- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
От природы не сильна в регулярных выражениях :)
Помогите пожалуйста получить со странички ссылки и тексты к ним
<a...href="qwe.html">text</a>
надо вычленить qwe.html и text
/href="[\w]*">[\w]*</a>/xis (возможно перед ковычками \)
$p=explode('"',$result); - в $p[1] -url
$p=explode('>',$result);
$x=explode('<',$p[1]); - $x[0] - текст ссылки
http://doorway-blog.blogspot.com/2006/08/pars-function.html - функция с регуляркой выдирает ссылки из гугли
Через explode очень медленно получится - объёмы большие...
Хочется через регулярные выражения сделать...
Нашла пример для "выдирания" адресов из выдачи Яндекса, но толку от этого... честно говоря ни сколько
<?php
$yaurl = 'http://www.yandex.ru/yandsearch?text=слово&stype=www';
$contents = file_get_contents($yaurl);
$pattern = "|<li value[^<]+<[^<]+<A[\s]+href=\"([^\"]*)[^>]*|is";
preg_match_all($pattern, $contents, $out, PREG_PATTERN_ORDER);
for($i = 0; $i < count($out[1]); $i ++) {
echo $out[1][$i]."<br>";
}
?>
$out=array();
preg_match_all('/href="[\w]*">[\w]*</a>/xis', $contents, $out);
Вернет $out
Я имел ввиду, что уже out рубить через explode. Через регулярки не факт, что быстрее.
Можно вот так сделать:
$out=array();
$out1=array();
preg_match_all('/(?<=href=")[\w]*(?=">)/xis', $contents, $out);
preg_match_all('/(?<=">)[\w]*(?=</a>)/xis', $contents, $out1);
По идее в $out должны оказаться ссылки, а в $out1 - тексты ссылок, но на счет $out1 - не очень уверен
От природы не сильна в регулярных выражениях
😂😂😂😂😂😂😂
Умение применять другие силы - это класс :)
Вот так вот первоначальный вариант выглядит. Особых тормозов не замечал.
$out=array();
preg_match_all('/href="[\w]*">[\w]*</a>/xis', $contents, $out);
foreach($out[какой-то там] as $v){
$p=array();
$p=explode('"',$result);
array_push($urlres,$p[1]);
unset($p);
$p=array();
$x=array();
$p=explode('>',$result);
$x=explode('<',$p[1]);
array_push($textres,$x[0]);}
Кончайте извращаться...
Вот это парсер:
preg_match_all("!<a.*?href=\"?'?([^ \"'>]+)\"?'?.*?>(.*?)</a>!is", $str, $ok);
Вот это вывод:
for ($i=0; $i<count($ok[1]); $i++) {
echo "<br />".$ok[1][$i]." - ".$ok[2][$i];
З.Ы.
Парсим, естественно, то что находится в переменной $str
За помощь спасибо всем
Скорпиону отдельное за хороший рабочий вариант ;)
Вопрос исчерпал себя