Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyrażenia regularne - problem z preg_replace
Forum PHP.pl > Forum > Przedszkole
Age1869
Hej, ze względu na trochę wolnego czasu wróciłem do nauki PHP. Postanowiłem sobie, że nauczę się trochę na jakimś przykładzie. Założyłem, że zrobię skrypt, który będzie pobierał jakąś określoną stronę (w sensie jedną podstronę) i ją po sformatowaniu wyświetlał. Wybór padł na wikipedię, bo wg mnie jest ona pod tym względem odpowiednim wyzwaniem.

Napisałem coś takiego (wszystko działa):
  1. <?php
  2. $aaa = fopen('http://en.wikipedia.org/wiki/Churchill_tank', 'r');
  3. $max1 = stream_get_contents($aaa);
  4. $mz = '<table class="metadata plainlinks ambox ambox-style" style="">
  5. <tr>
  6. <td class="mbox-image">
  7. <div style="width: 52px;"><a href="/wiki/File:Text_document_with_red_question_mark.svg" class="image"><img alt="Text document with red question mark.svg" src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Text_document_with_red_question_mark.svg/40px-Text_document_with_red_question_mark.svg.png" width="40" height="40" /></a></div>
  8. </td>
  9. <td class="mbox-text" style="">This article includes a <a href="/wiki/Wikipedia:Citing_sources" title="Wikipedia:Citing sources">list of references</a>, but <b>its sources remain unclear because it has insufficient <a href="/wiki/Wikipedia:Citing_sources#Adding_the_citation" title="Wikipedia:Citing sources">inline citations</a></b>.<br />
  10. <small>Please help to <a href="/wiki/Wikipedia:WikiProject_Fact_and_Reference_Check" title="Wikipedia:WikiProject Fact and Reference Check">improve</a> this article by introducing more precise citations <a href="/wiki/Wikipedia:When_to_cite" title="Wikipedia:When to cite">where appropriate</a>. <i>(April 2009)</i></small></td>
  11. </tr>
  12. </table>';
  13. $got1 = str_replace($mz, '', $max1);
  14. $max3 = nl2br($got1);
  15. print $max3;
  16. ?>


Ale chcę to uprościć i w zmiennej $mz zamiast całości tego chcę umieścić tylko początek i koniec, a resztę zastąpić wyrażeniami regularnymi. Niestety nie mogę sobie z tym poradzić, siedzę już dłuższy czas nad tym, szukam po różnych stronach i nic z tego ;/ Aaa i do wyrażeń regularnych trzeba zamiast str_replace wziąć preg_replace, tak? Dziękuję bardzo za pomoc!

Czekając na odpowiedź siedzę nad tym dalej. Wymyśliłem coś takiego:
  1. <?php
  2. $aaa = fopen('http://en.wikipedia.org/wiki/Churchill_tank', 'r');
  3. $max1 = stream_get_contents($aaa);
  4. $mz = '/<table class="metadata plainlinks ambox ambox-style" style="">
  5. [a-zA-Z0-9\/<>:_";,.#() [:punct:]-]where appropriate<\/a>. <i>[a-zA-Z0-9\/<>:_";,.#() [:punct:]-]<\/i><\/small><\/td>
  6. <\/tr>
  7. <\/table>/';
  8. $got1 = preg_replace($mz, '', $max1);
  9. $max3 = nl2br($got1);
  10. print $max3;
  11. ?>


Niestety nie usuwa to tego fragmentu. Pewnie nie uwzględniłem jakiegoś znaku w wyrażeniach regularnych... Podpowie ktoś? Proszę
Rid
Do testowania wyrażeń regularnych jest fajna stronka.
Age1869
fajna, ale niestety nie pomogła mi. Znalazłem jedynie, że gdzieś dodaje się 6 spacji wg tego, co było na tamtej stronie
Rid
To spróbuj zajrzeć tutaj. Może 15 punkt Ciebie zainteresuje.
StevDefs
Precio Cialis Diario En Farmacia levitra paypal Priligy Como Funciona Produit 1 Amoxicillin Carbonic Acid

Propecia Generic Hair Loss Baclofen Generique En Canada Acheter Cialis Par Cheque pastilla viagra No Doctor Viagra Propecia Pills For Sale Cialis Gatillazo

Buy Cialis Online Nopw viagra similares simi Cialis Asia Over The Counter Motilium Propecia Relax

Viagra Soft Tabs Review Compare Viagra Canadian Costs online cialis Becadexamin Sildenafil Kamagra Buy Wellbutrin 75 Mg
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-2024 Invision Power Services, Inc.