Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] znowu wyrazenia regularne
Forum PHP.pl > Forum > PHP
Rafiki
Zawsze mam problem z wyrazeniami regularnymi :/ staralem sie cos kombinowac ale nie dziala jak powinno :/ Otoz chce przykladowo z takiej zawartosci:

Kod
<meta name="Keywords" content="0">
<meta name="Description" content="Firma FreeHand Systems wprowadziła do sprzedaży urządzenie o nazwie MusicPad Pro Plus. Jest to przenośny, pracujący pod kontrolą Linuksa komputer mający zapewniać muzykom wygodną pracę z nutami.">
<meta name="source" content="PC World Komputer">
<meta name="copyright" content="Copyright (c) 2006. All Rights Reserved">
<link REL="alternate" type="application/rss+xml" href="http://rssout.idg.pl/rss_news_30.xml" title="RSS IDG Aktualności">
<title>Aktualności IDG.pl - Linux dla Janka Muzykanta (kiedy już się wzbogaci)</title>
<link rel="stylesheet" href="/styles/document.css" type="text/css">
<script language=javascript>


Wyciagnac tylko <title> </title> ( i tekst oczywiscie zawarty miedzy tymi tagami )
oraz <meta name="Description" problem w tym ze te dane sa generowane automatycznie, kolejnosc tagow zostaje bez zmian ale ich zawartosc w meta tagach description i w title sie zmienia i nie wiem juz jak je wyciac :/
TomASS
  1. <?php
  2. $html = @file_get_contents($location);
  3. if (preg_match ('/<title>(.*?)<\/title>/is', $html, $match) == false)  return false;
  4. else $title = $match['1'];
  5. ?>


A dokładniej:

  1. <?
  2. $html = '<meta name="Keywords" content="0">
  3. <meta name="Description" content="Firma FreeHand Systems wprowadziła do 
  4. sprzedaży urządzenie o nazwie MusicPad Pro Plus. Jest to przenośny, pracujący 
  5. pod kontrolą Linuksa komputer mający zapewniać muzykom wygodną pracę z
  6.  nutami.">
  7. <meta name="source" content="PC World Komputer">
  8. <meta name="copyright" content="Copyright (c) 2006. All Rights Reserved">
  9. <link REL="alternate" type="application/rss+xml" 
  10. href="http://rssout.idg.pl/rss_news_30.xml" title="RSS IDG Aktualności">
  11. <title>Aktualności IDG.pl - Linux dla Janka Muzykanta (kiedy już się wzbogaci)</title>
  12. <link rel="stylesheet" href="/styles/document.css" type="text/css">
  13. <script language=javascript>';
  14.  
  15. if (preg_match ('/<title>(.*?)<\/title>/is', $html, $match) == false)  return false;
  16. else $title = $match['1'];
  17.  
  18. echo $title;
  19.  
  20. ?>
popo
jesli zawsze sa obie czesci to proponuje

  1. <?php
  2. if (preg_match('/(<title>(.*?)<\/title>)|(<meta name="Description" content="(.*?)">)/si', $html, $regs)) {
  3. $title = $regs[1];
  4. $description=$regs[2];
  5. }
  6.  
  7. ?>


jesli jednego z nich moze nie byc to w pierwszym if'ie sam fragment odnosnie title a w drugim tylko odnosnie descripition
thornag
Witam

Pytanie mam do powyrzego:

Po podaniu igly widze ze w jednym przykladzie jest :

/is

w drugim:

/si

Co to takiego ? Moge od razu prosic o jakies szerse informacje moze mi sie wydaje ale widzialem tez gdzies U chyba smile.gif))
TomASS
Cytat
Moge od razu prosic o jakies szerse informacje

Mekka wyrażeń regularnych smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.