Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для Nebiros
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122

preg_match_all

08.06.2011, 14:36. Показов 1668. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
немогу правильно регулярку написать , вот к примеру текст

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$content="
<a href="site.com" style="cursor:pointer">site</a>
<a href="site.com/index.php" style="cursor:pointer; position:relative">home</a>
<a href="javascript:alert('test');">test</a>";
 
// обработка
 
preg_match_all("/< *(a href=\".*\")>/Ui", $content, $matches);
 
foreach($matches as $value){
    foreach($value as $cont){
        echo $cont."<br>";
        }
    }
выводятся и линки и стили и ява ссылки , как правильно выражение написать чтобы я получал только линки и причем не являющиеся явой ?

P.s. за кавычки в курсе это просто пример текста ...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.06.2011, 14:36
Ответы с готовыми решениями:

PHP preg_match_all
Здравствуйте. Проблема с поиском preg_match_all preg_match_all('/\(+)\/iu', $news_content, $key_none_r); //line 35 нужно...

preg_match_all c условием
как мне составить условие чтобы он искал в новости самую первую картинку со значение img или img=left и выводил ее содежимое я пытался...

Строковая печалька.* preg_match_all
$fURL = c('MainForm-&gt;tForum')-&gt;text; $fGenID = c('MainForm-&gt;tGenID')-&gt;text; $fAuthor = c('MainForm-&gt;tAuthor')-&gt;text; $fgt =...

2
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
08.06.2011, 15:35
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$s = '<a class="foo" href=site.com style="cursor:pointer">site</a>
<a class="bar" rel=nofollow href=\'site.com/index.php\' style="cursor:pointer; position:relative">home</a>
<a href="site.com/index.php" style="cursor:pointer; position:relative">home</a>
<a href="javascript:alert(\'test\');">test</a>';
 
$re =
    '~' .
        '<a\\s' .
        '(?:' .
            '(?!href\\s*=)[^<>\\s]+\\s+' .
        ')*' .
        'href\\s*=\\s*' .
        '(?|' .
            '"((?!javascript:)[^"]*)"' .
            '|' .
            "'((?!javascript:)[^']*)'" .
            '|' .
            '((?!javascript:)[^\'"<>\\s]+)' .
        ')' .
        '(?:' .
            '\\s+(?!href\\s*=)[^<>]*' .
        ')*' .
        '\\s*>' .
    '~i';
if (preg_match_all($re, $s, $m)) print_r($m[1]);
else var_dump(null);
Следует обратить внимание на:
  • (?!...) - негативное заглядывание вперед (дальше не будет "...")
  • (?|...(...)...|...(...)...) - альтернативная нумерация захватывающих скобок ()
  • (?:...) - незахватывающая скобка для группировки.
3
 Аватар для andyarus
175 / 77 / 2
Регистрация: 19.04.2011
Сообщений: 322
08.06.2011, 16:14
я бы не стал все регуляркой делать. выдрал сначал б все ссылки, потом вырезал ненужные из массива и усе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.06.2011, 16:14
Помогаю со студенческими работами здесь

preg_match_all поиск и замена
Здравствуйте как можно сделать поиск по шаблону найти теги {скрыть}{/скрыть} и что будет между тегами должно стерется вот например есть...

Получение значение href preg_match_all
Есть html код &lt;ul&gt; &lt;li&gt;&lt;a data-ajax-link=&quot;1&quot; class=&quot;&quot; href=&quot;/категория/КАНЦТОВАРЫ/РАСПРОДАЖА&quot;&gt;РАСПРОДАЖА&lt;/a&gt;&lt;/li&gt; ...

Preg_match_all() expects parameter 2 to be string, array given
Добрый день! ошибка в коде $content = file('http://www.merlion.com/catalog/product/929443/'); //получаем стр $content =...

preg_match_all - Выполняет глобальный поиск шаблона в строке
Народ помогите разобраться не магу понять где косяк. preg_match_all('/\(*)\/i', $content_text, $match); if(count($match) &gt; 0){ ...

Беда с preg_match_all (использую как основу ЧПУ)
У меня в бд хранится список правил, типов ссылок. Вот так я ищу правило для запрошенной ссылки preg_match_all('/^'.$Rule.'$/u', $Path,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru