Eredmény: 1 - 10 (10) összesen

Téma: php 5.3 elavult függvények

  1. #1
    Mentor hetes logója
    Csatlakozott
    09-04-17
    Hozzászólás
    452
    Begyűjtött 73 köszönetet
    60 hozzászólásával

    Alapbeállítás php 5.3 elavult függvények

    A kérdésem az lenne, hogy mi a legegyszerűbb módja annak, hogy az 5.3as phpben elavult függvényeket (ereg, eregi, eregi_replace, stb..) a legegyszerűbb módon lecseréljem? A gugli dobál preg_matchos/replaces megoldásokat, ami egy-egy esetben eredményre is vezet, de nekem egy ősrégi cms-t kéne felokosítanom és igazi szopóroller átnézni több száz fájlt és egyesével átírogatni.

    Azt például nem tudom pontosan, hogy a preg_match és ereg függvények által használt patternek megegyeznek-e, tehát egy sima "keresés és csere" nem biztos hogy eredményre vezetne. Próbálgatni sem akarom, hogy akkor most tényleg működik-e minden funkció. Ja, gyorsan kéne rá megoldás.


    Az aláírás nem lehet hosszabb 100 karakternél kivéve a BB kód jelölőt.

  2. #2
    'Say Hello To My Little Friend'
    Csatlakozott
    10-04-13
    Hely
    Budapest
    Hozzászólás
    2.784
    Begyűjtött 863 köszönetet
    659 hozzászólásával

    Alapbeállítás re: php 5.3 elavult függvények

    Gyors Google keresés után:

    How can I convert ereg expressions to preg in PHP? - Stack Overflow

    Szóval csak bedobod / és / közé az ereg-ben lévő patternt (és benne a /-t escapelni), az eregi esetében meg egy i betű is jön a végére. És elvileg ennyi. Ezt könnyen lehet programmal konvertálni.



  3. Az alábbi felhasználók hálásak a válaszért:

    hetes (2014-01-19)

  4. #3
    Mentor hetes logója
    Csatlakozott
    09-04-17
    Hozzászólás
    452
    Begyűjtött 73 köszönetet
    60 hozzászólásával

    Alapbeállítás re: php 5.3 elavult függvények

    Szóval ha csinálok egy ilyen függvényt, akkor elég lenne egy "Keresés és csere" művelettel az eregiket átírni my_eregi-re és működne flottul minden? Illetve ereg és ereg_replacenél is? Tudom hogy gányolás, de most ennyire futja.

    PHP kód:
    function my_eregi($pattern$string){
        
    $pattern str_replace('/''\/'$pattern);
    if(
    preg_match('/'.$pattern.'/i'$string))     { return true; }
    else                              { return 
    false; }
        





  5. #4
    Bölcs earnnet logója
    Csatlakozott
    12-08-15
    Hely
    Budapest
    Hozzászólás
    1.820
    Begyűjtött 812 köszönetet
    576 hozzászólásával

    Alapbeállítás re: php 5.3 elavult függvények

    Figyelj, és hogyha a preg_replace-re cserélnéd?



  6. Az alábbi felhasználók hálásak a válaszért:

    hetes (2014-01-19)

  7. #5
    Tag kléni logója
    Csatlakozott
    13-05-27
    Hely
    Nyíregyháza
    Hozzászólás
    71
    Begyűjtött 10 köszönetet
    10 hozzászólásával

    Alapbeállítás re: php 5.3 elavult függvények

    A fenti leírás alapján igen, ennyi lenne. Bár logikusabb lenne "return preg_match ..."-t használni.

    A _replace esetében is ugyan ezt kellene tenni, csak pluszba még a $replacement-et is átalakítani.


    Utoljára módosítva: kléni által : 2014-01-19 18:21

  8. Az alábbi felhasználók hálásak a válaszért:

    hetes (2014-01-19)

  9. #6
    Mentor hetes logója
    Csatlakozott
    09-04-17
    Hozzászólás
    452
    Begyűjtött 73 köszönetet
    60 hozzászólásával

    Alapbeállítás re: php 5.3 elavult függvények

    Dreamweaverben van olyan keresési mód, hogy adott mappa összes fájljában keres rá szavakra, na ez az ereg variánsaira kidobott vagy 100 találatot. Eszem ágában sincs megnézni mind a 100-at, hogy mikor mit csinál és hol lehetne egyszerűsíteni. Ezért kell ez a gányolós módszer, hogy csak elé szúrjam ezek elé, hogy my_ és akkor legalább egy kis időhöz jutok. Sajnos nem ismertebb cmsről van szó, hanem egy noname fejlesztésről, amihez már elég sokat hozzáépítettem, így nem lehet ápgrédelni.



  10. #7
    Bölcs earnnet logója
    Csatlakozott
    12-08-15
    Hely
    Budapest
    Hozzászólás
    1.820
    Begyűjtött 812 köszönetet
    576 hozzászólásával

    Alapbeállítás re: php 5.3 elavult függvények

    A favorit Notepad++-ban is van több fájlban egyszerre keresés és csere.



  11. #8
    Mentor hetes logója
    Csatlakozott
    09-04-17
    Hozzászólás
    452
    Begyűjtött 73 köszönetet
    60 hozzászólásával

    Alapbeállítás re: php 5.3 elavult függvények

    Idézet kléni eredeti hozzászólása Hozzászólás megtekintése
    A fenti leírás alapján igen, ennyi lenne. Bár logikusabb lenne "return preg_match ..."-t használni.

    A _replace esetében is ugyan ezt kellene tenni, csak pluszba még a $replacement-et is átalakítani.
    A replace-nél mit kell alakítani a a $replacementen? És a $patternen? A perjelet nem hiszem hogy escapelni kellene, vagy mégis?

    Meg írnak itt valamit az ASCII karakterekről, az nem teljesen világos számomra: php - ereg_replace to preg_replace? - Stack Overflow

    Egyébként már haladok, a sima ereg/eregikre már kész az alternatív függvényem, le is teszteltem 10-12 stringgel és megegyezett az eredmény.



  12. #9
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.749
    Begyűjtött 1.432 köszönetet
    895 hozzászólásával

    Alapbeállítás re: php 5.3 elavult függvények

    Idézet hetes eredeti hozzászólása Hozzászólás megtekintése
    Eszem ágában sincs megnézni mind a 100-at, hogy mikor mit csinál és hol lehetne egyszerűsíteni.
    Pedig az lenne a legbiztosabb es a 100 elofordulas nem is tul sok
    A tomeges csere meg tesztek nelkul eleg rizikos, konnyen labon loheted magad.


    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Ruby blog
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

  13. #10
    Bölcs earnnet logója
    Csatlakozott
    12-08-15
    Hely
    Budapest
    Hozzászólás
    1.820
    Begyűjtött 812 köszönetet
    576 hozzászólásával

    Alapbeállítás re: php 5.3 elavult függvények

    A linkelt SO kérdéshez a pipás megoldásban le is van írva a preg formátuma: nem kell kiváltani a slasheket. Tehát van a minta, és azt határolod kettő slashel, és a végén még lehet kapcsoló, pl. az i betű incasesensitive-vé, vagyis nem kisnagybetűérzékennyé teszi (ilyenkor jövök rá, hogy nem tudok magyarul ). Ami a határoló slashek között van slash, na azt kell kiváltani (=eszképelni). Már ha van ilyen. Az ASCII-s résszel meg ne foglalkozz, nincs jelentősége, működik az összes ASCII karakterre és feltételezzük, hogy semmit nem adsz meg karakterkódokkal.
    Idézet hetes eredeti hozzászólása Hozzászólás megtekintése
    A replace-nél mit kell alakítani a a $replacementen? És a $patternen? A perjelet nem hiszem hogy escapelni kellene, vagy mégis?

    Meg írnak itt valamit az ASCII karakterekről, az nem teljesen világos számomra: php - ereg_replace to preg_replace? - Stack Overflow

    Egyébként már haladok, a sima ereg/eregikre már kész az alternatív függvényem, le is teszteltem 10-12 stringgel és megegyezett az eredmény.




Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •