Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Ograniczenie wyrażenia regularnego
czernin
post 2.01.2014, 16:47:14
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 14.06.2012

Ostrzeżenie: (0%)
-----


Witam,

Mam taki kod:

  1. <?php
  2.  
  3. $url = 'kod';
  4.  
  5. if (!preg_match_all('/<link.*application\/(rss|atom)\+xml.*?\/>/', $url, $matches)) {
  6. echo 'Nieprawidłowa konstrukcja znacznika';
  7. } else {
  8. print_r($matches);
  9. }
  10.  
  11. ?>


Ten prosty skrypt szuka w kodzie znacznika <link> wewnątrz którego występuje application=rss lub atom. Jednak problem pojawia się, gdy w kodzie są dwa takie znaczniki. Jeżeli oddzielone są siebie znakiem nowej linii wszystko jest w porządku. Jednak gdy są one nieoddzielone od siebie to wtedy pojawia się problem, ponieważ wszystkie wyniki wyświetlają się tak

Cytat
[0] => <link rel="alternate" type="application/rss+xml" title="rss" href="rss.xml" /><link rel="alternate" type="application/rss+xml" title="rss" href="rss.xml" />


zamiast tak

Cytat
[0] => <link rel="alternate" type="application/rss+xml" title="rss" href="rss.xml" />
[1] => <link rel="alternate" type="application/rss+xml" title="rss" href="rss.xml" />


Jak pozbyć się tego problemu, aby w przypadku dwóch złączonych <link> wyświetlały się one jako osobne wyniki?
Go to the top of the page
+Quote Post
vermis
post 2.01.2014, 16:56:49
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


Spróbuj tak:
Kod
<link.*?application\/(rss|atom)\+xml.*?\/>


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 02:40