Czy da się aby preg_replace zastępowało na raz dwa wzorce?

0

Cześć.

Tym razem @madmike chyba nie przeniesie, bo ewidentnie pytanie o podstawy. Z PHP jestem totalna lama, ale nie większa niż z dżawy czy pisania pod Androdia. Dlatego skoro i tak mam mieć dostęp do netu, to napisałem sobie prosty skrypt - stronę w PHP, która wyciąga z podanego linka do logów XBMC adresy otwartych wideo poprzez wtyczki (bo tak najwygodniej ogarniać loga na Andku kiedy go poślemy pluginem na stronę, a później link do loga dostać na e-maila). Natomiast jeśli tablet nie wyrabia na przykład ze stumieniowaniem IPLI, a zmiany jakości pluginy akurat do niej nie pozwalają ustawić. To wygodniej pobrac plik po HTTP, po czym obejrzeć go z wydajniejszym dekoderem na przykład pod MX Playerem.

Tak wiem, PHP nie dla mnie, tutaj jak kiedyś wspominał @somekind każdy w tym kodujący powinnien mieć orzeczenie o stopniu niepełnosprawności. Ja takie posiadam, ale pracuję w innej branży. Jedno jest pewne, do tego dziwnego języka trzeba mieć anielską cierpliwość i dużo opanowania. Pisanie drugiego w życiu od zera skryptu PHP nadal zajęlo mi trochę czasu i bylo drogą przez mękę. Może za dużo przyzwyczajeń z Delphi. Ale na przykład ciągle zapominałem o głupim średniku na końcu linijek, o czym nie zapominam oczywiście w Delphi. Ale tam do programowania jest IDE. A środowisk wspomagających pisanie pod PHP za cholery nie znam :/ Dlatego ulżyjcie mi trochę w moich męką proszę i podpowiedzcie jak mogę usprawnić poniższy kod. Bo póki co jest tak brzydko i nieoptymalnie jak widać. Kombinowałem z |, ale i tak nie działalo.

                    $validurl = preg_replace("/<span[^>]+\>/i", "", $val[1]);
                    $validurl = str_replace("</span>", "", $validurl);
                    echo '<a href="' . $validurl . '" target="_blank">' . $validurl . '</a><br><br>';

Chodzi aby zamieniać wszystko jedną funkcją preg_replace jeśli się da. Z góry dziękuję za przykładowy kod. I nie obrażajcie się na mnie za wspomnienie nie moich słów o grupie. To żadna ujma ją posiadać. Jeżeli zdrowie nie dopisuje. Tylko dziwnie, że bywają firmy z branży IT, które chcą zatrudniać osoby z grupą - w domyśle płacąć im brutto za pewne maksimum tyle, ile mogą dostać dofinansowania od PEFRONu. Klepacz kodu, nieważne czy w popularnym PHP. Jeśli ma być dobry i ma chcieć się ewentualnie rozwijać oraz być wydajnym czy zmotywowanym do pracy. To imo jak każdy powinien być sowicie opłacany. Chociaż jak wiemy z ogłoszeń w dziale Oferty Pracy minimalne stawki czy widełki tak często są niestety tajemnica, że pewnie sami ogłaszający nie mają powodów aby się nimi chwalić, bo pewnie odbiegają od standardów zachodnich i to znacznie lub nikt by nawet nie poświęcał czasu na złożenie aplikacji na dane stanowisko gdyby jawnie je podawano.

1
  1. Środowisko: PHPStorm od JetBrains ;)
  2. Czemu nie python? :)
  3. Przecież ta funkcja może przyjmować tablice jako parametry. Tzn możesz zrobić tak:
<?php
$string = $val[1];
$patterns = array();
$patterns[0] = '/<span[^>]+\>/i';
$patterns[1] = '</span>';
$replacements = array();
$replacements[0] = '';
$replacements[1] = '';
echo preg_replace($patterns, $replacements, $string);
?>

(i wiem to po minucie czytania dokumentacji... http://php.net/manual/en/function.preg-replace.php )

0
  1. Jak pisałem żadnych IDE nie znam, ale może kiedyś z konieczności poznam.
  2. Bo Pythona tymbardziej nie ogarniam i nie ogarnę. Język gdzie formatowanie ma kluczowe znaczenie żeby cokolwiek działalo niebardzo. Poza tym nie wiem jak na serwerze jakim dysponuje zmusić plik w .py do działania. Nie mam tam dostępu do shella i możliwości instalacji własnych interpteterów. Poza tym wystarczy już @madmike na forum co działa jak automat do filtracji ;) Przez to że On zna Pythona ma jeszcze większe problemy ze snem niż ja, więc po co to mi. Dziękuję, pomęczę się w PHP ;)
  3. Faktycznie, teraz doczytałem że można podać jako argumenty tablice. Dzięki. Wszystko jasne. Taki fragment kodu, jak poniżej robi co potrzeba:
                  $string          = $val[1];
                    $patterns        = array();
                    $patterns[0]     = '/<span[^>]+\>/i';
                    $patterns[1]     = '/<\/span>/';
                    $replacements    = array();
                    $replacements[0] = '';
                    $replacements[1] = '';
                    $validurl        = preg_replace($patterns, $replacements, $string);
                    echo '<a href="' . $validurl . '" target="_blank">' . $validurl . '</a><br><br>';
3

Język gdzie formatowanie ma kluczowe znaczenie żeby cokolwiek działalo niebardzo.

I z tego powodu powinien być państwowy zakaz nauki jakiegokolwiek innego języka dopóki nie ogarnie się Pythona. Ile mniej burdelu, ile więcej włosów na głowie patrząc na czyjś kod ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1